Merge branch 'master' of ssh://git.code.sf.net/p/tmux/tmux-code

This commit is contained in:
Nicholas Marriott 2013-02-23 19:26:12 +00:00
commit 243244d285
3 changed files with 20 additions and 43 deletions

2
README
View File

@ -41,7 +41,7 @@ directory.
For debugging, running tmux with -v or -vv will generate server and client log For debugging, running tmux with -v or -vv will generate server and client log
files in the current directory. files in the current directory.
tmux mailing lists are available. The visit: tmux mailing lists are available. Visit:
https://sourceforge.net/mail/?group_id=200378 https://sourceforge.net/mail/?group_id=200378

59
TODO
View File

@ -30,40 +30,30 @@ TMUX UI ISSUES
to avoid quoting to avoid quoting
- make command sequences more usable: don't require space after ;, handle - make command sequences more usable: don't require space after ;, handle
errors better errors better
- attach should have a flag to create session if it doesn't exist
- choice and more mode would be better per client than per window? - choice and more mode would be better per client than per window?
- hooks to which commands may be attached, for example: tmux add-hook - hooks to which commands may be attached, for example: tmux add-hook
"new-session" if-shell "[ -e $HOME/.tmux-session.conf ]" source-file "new-session" if-shell "[ -e $HOME/.tmux-session.conf ]" source-file
$HOME/.tmux-session.conf $HOME/.tmux-session.conf
- way to set socket path from config file - way to set socket path from config file
- what about utmp etc? can tmux update it like screen? setgid?
- warts on current naming: - warts on current naming:
- display-time but message-fg/bg/attr - display-time but message-fg/bg/attr
- list-* vs show-* - list-* vs show-*
- server-info - server-info
- up-pane/down-pane/swap-pane -U/swap-pane -D vs next-*/previous-* - up-pane/down-pane/swap-pane -U/swap-pane -D vs next-*/previous-*
- split-window -> split-pane?? - split-window -> split-pane??
- a way for force-width/height to apply to only one pane (how?)
- command to list what is actually running in each window with command line,
pid (need some adaption of the osdep code)
- some way to force a screen to use the entire terminal even if it is forced - some way to force a screen to use the entire terminal even if it is forced
to be smaller by other clients. pan smaller terminal? (like screen F) to be smaller by other clients. pan smaller terminal? (like screen F)
-- idea of a "view" onto a window, need base x/y offsets for redraw -- idea of a "view" onto a window, need base x/y offsets for redraw
- handle resize better in copy mode
- way to copy stuff that is off screen due to resize
- commands should be able to succeed or fail and have || or && for command - commands should be able to succeed or fail and have || or && for command
lists lists
- some way to KEEP a command running continually and just use its LAST line of - some way to keep a command running continually and just use its last line of
output output
- UTF-8 to a non-UTF-8 terminal should not be able to balls up - UTF-8 to a non-UTF-8 terminal should not be able to balls up
the terminal - www/ruby-addressable; make regress the terminal - www/ruby-addressable; make regress
- support esc-esc to quit in modes - support esc-esc to quit in modes
- fix ctrl+F1-F4 output. to what? - fix ctrl+F1-F4 output. to what?
- better utf8 support: window names, prompt input, message display - better utf8 support: window names, prompt input, message display
- session history for client and last-session command
- option to change status line colour when current window is in a mode?
- option to move copy mode indicator into status line - option to move copy mode indicator into status line
- list-buffer/show-buffer should display UTF-8
- selection behaviour closer to vi in vi mode - selection behaviour closer to vi in vi mode
- live update: server started with -U connects to server, requests sessions and - live update: server started with -U connects to server, requests sessions and
windows, receives fds windows, receives fds
@ -76,14 +66,11 @@ TMUX UI ISSUES
- better session sharing: create-socket command to create socket somewhere (-r - better session sharing: create-socket command to create socket somewhere (-r
flag for readonly) flag for readonly)
- multiline status line (no?) - multiline status line (no?)
- flag for absolute pane size to resize-pane
- sanity check input to socket
- support title stack, both internally and externally - support title stack, both internally and externally
http://docs.freebsd.org/cgi/getmsg.cgi?fetch=1149299+0+archive/2010/freebsd-questions/20100207.freebsd-questions http://docs.freebsd.org/cgi/getmsg.cgi?fetch=1149299+0+archive/2010/freebsd-questions/20100207.freebsd-questions
- command to show status line information briefly when it is off
- some way to pad # stuff with spaces, #!2T maybe - some way to pad # stuff with spaces, #!2T maybe
- a binding to "scroll down and exit at bottom" copy mode - a binding to "scroll down and exit at bottom" copy mode
- some way to pass keystrokes in copy mode through to underlying window - some way to pass keystrokes in copy mode through to underlying window. why?
- last window update time and # replacement for it for display-message - last window update time and # replacement for it for display-message
- find-window across sessions - other ways to make session handling easier? - find-window across sessions - other ways to make session handling easier?
- ' and " should be parsed the same (eg "\e" vs '\e') in config and command - ' and " should be parsed the same (eg "\e" vs '\e') in config and command
@ -92,44 +79,29 @@ TMUX UI ISSUES
- audit of escape sequence support vs xterm - audit of escape sequence support vs xterm
- support binding keys to mouse (mouse-select-pane -> mouse-keys or something, - support binding keys to mouse (mouse-select-pane -> mouse-keys or something,
mouse click == select-pane -t %%, mouse scroll up == copy-mode) mouse click == select-pane -t %%, mouse scroll up == copy-mode)
- something for -t "last window in session" so a session can be used as a stack
- synchronous commands - client sends cmd and blocks, neww/splitw saves client
ptr then when program inside died, sends MSG_SOMETHING with wait status to
client
- bind commands to key sequences? -- make it so ALL keys go through a table, - bind commands to key sequences? -- make it so ALL keys go through a table,
first an implicit table in which C-b is the only default binding to a first an implicit table in which C-b is the only default binding to a
command that says "next key from $othertable" and so on. means -n can command that says "next key from $othertable" and so on. means -n can
go away as well go away as well
- monitor, bell etc should monitor /all/ panes in the window not just one - monitor, bell etc should monitor /all/ panes in the window not just one
- a history of commands that can be reversed (reverse member of each command, - a history of commands that can be reversed (reverse member of each command,
and a buffer) info() when changing to same window and a buffer)
- info() when changing to same window
- way to add dest for break-pane; maybe some easier way to unbreak-pane - way to add dest for break-pane; maybe some easier way to unbreak-pane
- case insensitive searching - case insensitive searching
- incremental searching in copy mode. - incremental searching in copy mode.
- configurable borders and empty space filler for when panes < window? - configurable borders and empty space filler for when panes < window?
- mouse-select-pane will screw up with !MODE_MOUSE_STANDARD (it sets the - mouse-select-pane will screw up with !MODE_MOUSE_STANDARD (it sets the
flag on w/o checking the others before calling tty_update_mode) flag on w/o checking the others before calling tty_update_mode)
- multiple keys could be done with tables, ie have prefixes go and instead
bind -n ^A prefix-table "default"
where prefix-table sets command lookup table and sets prefix flag, then next
key is looked up in that table
- pass shell commands as argv rather than strings, allow them to be specified - pass shell commands as argv rather than strings, allow them to be specified
in commands without quotes in commands without quotes
- numeric prefix in copy mode should be paste buffer for C-w
- named buffers and allow gaps in the stack - named buffers and allow gaps in the stack
- get rid of separate UTF-8 cell stuff: add 1 byte to cell and store BMP as
uint16_t+3 bits of flags. anything <=0xffff is Unicode, higher are used to
build tree of combined characters/non-BMP (LRU dropped when full)
- entry in FAQ about what to do when someone does mkdir /tmp/tmux-1000
- monitor-activity is broken in several ways with multiple clients - monitor-activity is broken in several ways with multiple clients
- monitor-activity should be more powerful (eg set a region) - monitor-activity should be more powerful (eg set a region)
- maybe a way to put pane names instead of window names in status line - maybe a way to put pane names instead of window names in status line
- support for borderless panes - support for borderless panes
- run-shell/if-shell should support status_replace stuff - wait-for command 20130222153957.GY6782@yelena.nicm.ath.cx
- wait-pane command or another way to make it synchronous/wait for command to
finish
- last-pane across sessions - last-pane across sessions
- attach should take a pane and select it as well as attaching
- panes should have names like windows - panes should have names like windows
- command-prompt doesn't work if made read-only. why? - command-prompt doesn't work if made read-only. why?
- option to quote format eg #{session_name:quoted} - option to quote format eg #{session_name:quoted}
@ -144,16 +116,14 @@ TMUX UI ISSUES
- way to tag a layout as a number/name - way to tag a layout as a number/name
- optimize pane redraws, 20120318184853.GK10965@yelena.nicm.ath.cx - optimize pane redraws, 20120318184853.GK10965@yelena.nicm.ath.cx
- support multibyte key strings - support multibyte key strings
- allow commands to be executed when certaing patterns in a screen - allow commands to be executed when certain patterns in a screen
are clicked on with the mouse are clicked on with the mouse
- flag to make next/previous commands skip a window - flag to make next/previous commands skip a window
- way to do tmux command/run-shell from mode keys - way to do tmux command/run-shell from mode keys
- send command to all windows - send command to all windows
- choose-pane command - choose-pane command (augment choose-tree to do this?)
- Augment choose-tree to do this? TA to investigate. - choose-mode and copy-mode are very similar. Perhaps make choose-mode a subset
- choose-mode and copy-mode are very similar. Perhaps make choose-mode a of copy-mode in that it inherits key-bindings and other traits but not all
subset of copy-mode in that it inherits key-bindings and other traits but
not all.
- add -c for new-session like new-window - add -c for new-session like new-window
- flag to choose-* for sort order (eg sort windows/sessions/clients by last - flag to choose-* for sort order (eg sort windows/sessions/clients by last
used time) - perhaps using formats (but what about numeric sort)? used time) - perhaps using formats (but what about numeric sort)?
@ -163,6 +133,14 @@ TMUX UI ISSUES
and for session we look session->global and for session we look session->global
- maybe keep last layout + size around and if size reverts just put it back - maybe keep last layout + size around and if size reverts just put it back
- way to set hints/limits about pane size for resizing - way to set hints/limits about pane size for resizing
- revamp layouts: they are too complicated, should be more closely integrated,
should support hints, layout sets should just be a special case of custom
layouts, and we should support panes that are not attached to a cell at
all. this could be the time to introduce panelink to replace layout_cell
- run-shell/if-shell should support formats
- attach should take a pane and select it as well as attaching
- attach should have a flag to create session if it doesn't exist. or better
new a flag to attach it
TERMINAL ISSUES TERMINAL ISSUES
================ ================
@ -171,8 +149,7 @@ TERMINAL ISSUES
- clear window title on exit (see using xterm title stack) - clear window title on exit (see using xterm title stack)
- get it passing all the vttest tests that don't require resizing the terminal - get it passing all the vttest tests that don't require resizing the terminal
- support for bce - support for bce
- use screen-256color when started on 256 colour terminal?? - use screen-256color when started on 256 colour terminal?
- if-shell/run-shell should block further command execution in the same command
* We need a tmux terminfo entry to document the extensions we are using in * We need a tmux terminfo entry to document the extensions we are using in
upstream terminfo. Must NOT change (only add or remove) anything from upstream terminfo. Must NOT change (only add or remove) anything from
TERM=screen so we can fallback! TERM=screen so we can fallback!

View File

@ -16,7 +16,7 @@
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=tmux&sektion=1">Manual Page</a></li> <li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=tmux&sektion=1">Manual Page</a></li>
<li><a href="https://sourceforge.net/p/tmux/tmux-code/ci/master/tree/FAQ">FAQ</a></li> <li><a href="https://sourceforge.net/p/tmux/tmux-code/ci/master/tree/FAQ">FAQ</a></li>
<li><a href="https://sourceforge.net/p/tmux/tmux-code/ci/master/tree/">Source Code</a></li> <li><a href="https://sourceforge.net/p/tmux/tmux-code/ci/master/tree/">Source Code</a></li>
<li><a href="http://sf.net/projects/tmux">Project Page</a></li> <li><a href="http://sf.net/projects/tmux">SourceForge Page</a></li>
<li><a href="https://lists.sourceforge.net/lists/listinfo/tmux-users">Mailing List</a></li> <li><a href="https://lists.sourceforge.net/lists/listinfo/tmux-users">Mailing List</a></li>
<li><a href="irc://irc.freenode.net/tmux">IRC Channel</a></li> <li><a href="irc://irc.freenode.net/tmux">IRC Channel</a></li>
</ul> </ul>