|  | - 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 | 
|  | - 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? | 
|  | - option to show bells visually | 
|  | - H/M/L commands in copy mode with vi-keys, for jumping to the top/middle/last line on the screen | 
|  | - if the server is started with IDENTIFY_UTF8 then set the global utf8 option? | 
|  | - I think there are potential leaks in the prompt code if a new prompt is created without the | 
|  | callback for the old being cleared; this might be quite hard to hit, lock-server seems the only | 
|  | candidate | 
|  | - split list-windows into separate list-windows and list-panes | 
|  | - option (mode-mouse) to turn off mouse in copy-mode etc | 
|  | - way to override terminfo definitions | 
|  | - ability to rebind mode keys | 
|  | - warts on current naming: | 
|  | - display-time but message-fg/bg/attr | 
|  | - list-* vs show-* | 
|  | - server-info | 
|  | - up-pane/down-pane vs next-*/previous-* vs resize-pane U/D/L/R | 
|  | - tidy up and prioritise todo list ;-) |