- 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 - screen/xterm etc translate \n to \r when pasting: 18:31 <+NicM> so i think the best thing might be to a) stick with \n internally b) change paste-buffer to translate \r to \n per xterm c) add a -r option to paste-buffer to turn off the translation - 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 ;-)