| - window creation/idle time |
| - better errors when creating new windows/sessions (how?) |
| - implicitly add exec to the commands for new windows (switch to disable it)? |
| - it would be nice to have multichar commands eg C-b K K |
| - commands: |
| extend list-clients to list clients attached to a session (-a for all?) |
| bring back detach-session to detach all clients on a session? |
| - allow fnmatch for -c, so that you can, eg, detach all clients |
| - garbage collect window history (100 lines at a time?) if it hasn't been used |
| in $x time (need window creation/use times) |
| - lift SHRT_MAX limits for history? |
| - flags to centre screen in window |
| - better terminal emulation |
| - activity/bell should be per-window not per-link? what if it is cur win in |
| session not being watched? |
| - next prev word etc in command prompt |
| - many more info() displays for various things |
| - use a better termcap internally instead of screen, perhaps xterm |
| - fix rxvt cursor fg issue (text under cursor can have non-white fg) |
| - should be able to move to a hidden pane and it would be moved into view. pane |
| number in status line/top-right would be cool for this |
| - support other mouse modes (highlight etc) and use it in copy mode |
| - set-remain-on-exit is a bit of a hack, some way to do it generically? |
| - set-option should be set-session-option and should be overall global options |
| also quiet, utf8 and maybe other flags? |
| -g is a bit unexpected in conf file |
| - clear window title on exit |
| - the output code (tty.c) could do with optimisation depending on term |
| capabilities |
| - would be nice to be able to use "--" to mark start of command w/ neww etc |
| to avoid quoting |
| - make command sequences more usable: don't require space after ;, handle |
| 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? |
| - hooks to which commands may be attached, for example: tmux add-hook |
| "new-session" if-shell "[ -e $HOME/.tmux-session.conf ]" source-file |
| $HOME/.tmux-session.conf |
| - get it passing all the vttest tests that don't require resizing the terminal |
| - esc seq to set window name and title should be documented, and name variant |
| should clear automatic-rename |
| - way to set socket path from config file |
| - XXX once env stuff is in, default-path and VISUAL/EDITOR should be picked up |
| when session is started |
| - what about utmp etc? can tmux update it like screen? setgid? |
| - warts on current naming: |
| - display-time but message-fg/bg/attr |
| - list-* vs show-* |
| - server-info |
| - up-pane/down-pane/swap-pane -U/swap-pane -D vs next-*/previous-* |
| - split-window -> split-pane?? |
| - tidy up and prioritise todo list ;-) |
| - neww and attach can create a session if none exists? |
| would work fine with config file since |
| - 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) |
| - support for bce |
| - it would be nice if the start/end line keys in copy mode were aware of |
| wrapped lines |
| - 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) |
| -- 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 |
| lists |
| - support the mouse wheel to scroll through history |
| - some way to KEEP a command running continually and just use its LAST line of |
| output |
| - bind commands to mouse buttons |
| - UTF-8 to a non-UTF-8 terminal should not be able to balls up |
| the terminal - www/ruby-addressable; make regress |
| - copy mode needs a tidy/cleanup |
| - ability to save history (to buffer?) |
| - 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 |
| - UTF-8 should be a pointer into a combined string buffer |
| - check irssi (term_charset) works with UTF-8 |
| - support esc-esc to quit in modes |
| - fix ctrl+F1-F4 output. to what? |
| - look into xterm clearing its selection when scrolling etc |
| - better utf8 support: |
| window names |
| prompt input |
| message display |
| copy and paste cursor and wide characters |
| ...? |
| - 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 |
| - list-buffer/show-buffer should display UTF-8 |
| - selection behaviour closer to vi in vi mode |
| - live update: server started with -U connects to server, requests sessions and |
| windows, receives fds |
| - convert status line history to be server global (anything else?) |
| - command to show a tree of sessions-windows-panes (active marked with *) |
| - sort out inheriting config from shell on new sessions/windows: |
| should pick up default-path/termios/etc from client if possible, |
| else leave empty/default |
| - link panes into multiple windows |
| - -h option to capture-pane to capture the history as well |
| - bells should be passed between sessions with visual-bell etc |
| - use screen-256color when started on 256 colour terminal?? |
| - if-shell/run-shell should block further command execution in the same command |
| sequence until its shell exits, to allow them to be used from the config file |
| - better session sharing: create-socket command to create socket somewhere (-r |
| flag for readonly) |
| - allow buffer to be specified when copying in copy mode |
| - multiline status line |
| - flag for absolute pane size to resize-pane |
| - sanity check input to socket |
| - select-buffer command |
| - support title stack, both internally and externally |
| http://docs.freebsd.org/cgi/getmsg.cgi?fetch=1149299+0+archive/2010/freebsd-questions/20100207.freebsd-questions |
| - copy buffers should be global, limit can be server option, nuke copy-buffer |
| command |
| - command to show status line information briefly when it is off |
| - some way to pad # stuff with spaces, #!2T maybe |
| - FreeBSD console problems |
| - a binding to "scroll down and exit at bottom" copy mode |
| - some way to pass keystrokes in copy mode through to underlying window |
| - last window update time and # replacement for it for display-message |
| - 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 |
| prompt? |
| - command to toggle selection not to move it in copy-mode |
| - some way to create transient sessions which die when disconnected (option?) |
| |
| For 1.4 (not in order): |
| |
| 3 why are alerts per-winlink? try per window? |
| 4 audit of escape sequence support vs xterm |
| 5 support binding keys to mouse (mouse-select-pane -> mouse-keys or something, |
| mouse click == select-pane -t %%, mouse scroll up == copy-mode) |
| 6 rectangle copy: when selecting leftward, cursor should be inside block per |
| emacs key to rotate corner at which cursor is |
| 7 last-pane command *** |
| 9 something for -t "last window in session" so a session can be used as a stack |
| 10 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 |
| 11 documentation improvements - rlpowell's tutorial |
| - build instructions |
| 12 better configure? with-libevent |
| 14 bind commands to key sequences? |
| 16 monitor, bell etc should monitor /all/ panes in the window not just one |
| 18 a history of commands that can be reversed (reverse member of each command, and a buffer) |
| 19 info() when changing to same window |
| 20 don't pass UTF-8 through vis for titles |
| 21 clearing screen should push lines into history |
| 22 add a unique ever-increasing pane id to each pane, export it in $TMUX_PANE |
| (as %1, %2 etc) and allow it to be used as a target |
| 23 way to add dest for break-pane; maybe some easier way to unbreak-pane |
| 24 case insensitive searching |
| 25 dynamically generated jobs (eg "date ...") do not work well because |
| their entries are never collected, should either store status jobs in |
| a different tree or flush all unused persist jobs every update rather |
| than just updating them |
| 26 pane-index option like base-index |
| 27 option to move status line to top |
| 28 "monitor for silence" option |
| 29 support "xterm2" mouse mode |
| 30 respawn-pane command |
| 31 configurable borders and empty space filler for when panes < window |
| ... |
| |