| - window creation/idle time |
| - could use bsearch all over the place or get rid of smaller tables (clientmsg) |
| - 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 |
| - bind non prefix keys |
| - 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? |
| - audit copy/scroll and other modes for problems with very small windows |
| - better mode features: search, back word, forward word, etc |
| - flags to centre screen in window |
| - better terminal emulation (identify, insert mode, some other bits) |
| - audit for leftover/unused code |
| - activity/bell should be per-window not per-link? what if it is cur win in |
| session not being watched? |
| - tidy up window modes |
| - next prev word etc in command prompt; also ^K |
| - many more info() displays for various things |
| - vi half page scroll |
| - backspace should perhaps wrap backwards over newlines which were not moved |
| down by a newline: screen and the OS X terminal does this but xterm and most |
| others do not. this might be hard: a flag for each grid line (top bit of size |
| maybe)? a single flag is insufficient as can't then tell when to /stop/ |
| unwrapping |
| - input.c is too complicated. simplify? |
| - use a better termcap internally instead of screen, perhaps xterm |
| - kill all but current pane |
| - fix rxvt cursor fg issue (text under cursor can have non-white fg) |
| - key handling sucks a bit and may need to be reworked |
| - some people find first window being 0 rather than 1 is awkward on the |
| keyboard |
| - client sx/sy should be in tty, then can let the terminal wrap at edge |
| to allow xterm to pick up it should be one line for its c/p |
| - 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 |
| - command to run something without a window at all - output to |
| window-more. what for? isnt this the same as doing it w/ splitw/neww now? |
| - would be nice if tmux could be the shell (tmux attach, but hard link to tmux |
| binary as "tmuxsh" or wrapper script?) problems with tty dev permissions |
| - 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 |
| for stuff like mode keys? |
| also quiet, utf8 and maybe other flags? |
| -g is a bit unexpected in conf file |
| - clear window title on exit |
| - refer to windows by name etc (duplicates? fnmatch?) |
| - the output code (tty.c) could do with optimisation depending on term |
| capibilities |
| - would be nice to be able to use "--" to mark start of command w/ neww etc |
| to avoid quoting |
| - goto line and search history in copy/scroll modes |
| - a command to display the status line briefly when it is turned off |
| - clone session command |
| - make command sequences more usable: don't require space after ;, handle |
| errors better |
| - might be nice if attach-session behaved like switch-client inside an |
| existing client |
| - key to switch to copy mode from scroll mode |
| - attach should have a flag to create session if it doesn't exist |
| - layout/split stuff: |
| ** NEW layout design: |
| 1. finish rewrite manual with tree of layout_cell |
| 2. convert automatic layout modes to produce a tree and make |
| them one-off operations |
| 3. move any size/position details from window_pane to layout_cell |
| 3.5. fix -p/-l on split |
| 4. a way to address panes by name ("top-left") and position ("0,0") |
| TO TEST: force-width/height OK, respawn-window, rotate-window OK, break-pane?? |
| ** rename split-window -> split-pane |
| - fix UTF-8 guesswork on sparc64, improve tty checks |
| - choice and more mode would be better per client than per window? |
| - 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) |
| - close/redirect stderr when popen to child proc for #() in status line |
| - 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 |
| - does tmux require a exmple conf? where does it go? |
| - there are an awful lot of commands. maybe separate man page for conf |
| file/commands -similar to ssh/ssh_config? |
| - esc seq to set window title should be documented and should set automatic-rename |
| - *** get rid of PANE_HIDDEN -- initially just check for outside window |
| - way to set socket path from config file |
| - the "window with one pane" vs window distinction is weird, eg you can't kill-pane the last pane |
| - status-active-fg/bg/attr would be nice to highlight active window, as would options to set |
| the highlight stuff |
| - XXX once env stuff is in, default-path and VISUAL/EDITOR should be picked up when session is started |
| - expand leading ~ in source-file save-buffer etc |
| - the copy mode next-word behaviour is emacs style (end of word) rather than vi style (start of word) even in vi keys mode, |
| - when moving up from a blank line in copy mode it always assumes you were at the end of the line so it can be a bit funny. should remember last non-blank x position and use that |
| - paste-buffer etc should be able to handle \0, so needs a size member and no more strlen |
| - is utf8 a valid charset in LANG? also check for "unicode" in TERM |
| - what about utmp etc? can tmux update it like screen? setgid? |
| - system-wide configuration file |
| - tidy up and prioritise todo list ;-) |