- useful env vars like WINDOW? - better checking/emulation for missing term requirements - alt charset, borders etc (terminfo(5)/Line Graphics) - new window command prompt - mouse handling and some other bits elinks needs - line mode/char-at-a-time mode a la telnet? - handle ioctl/termios stuff on window sockets - figure out once and for all what is going on with backspace and del backspace should be translated per the termios setting. del passed through? - window creation/idle time - profile/optimise, particularly (i suspect) input.c - decide about customised status line - could use bsearch all over the place or get rid of smaller tables (clientmsg) - better errors when creating new windows/sessions (how?) - session with CMD_NOSESSION should be an error - Implicitly add exec to the commands for new windows (switch to disable it) - nested sessions, ie session as window - moving to it moves into session (remembering parent) - Nested sessions over the network, plug-in another tmux as a window/subsession - it would be nice to have multichar commands so you could have C-b K K for kill-window to limit accidental presses - status-fg/status-bg should be able to set attributes: bold, etc - save/restore (DECSC/DECRC) are ugly. maybe a struct screen_attr and memcpy - force maximum terminal size (centred?) - per-session toolbar state, other options - force-default option: assume terminal supports default colours even if AX is missing (like, eg, xterm-color in an aterm) - refer to windows by name etc (duplicates? fnmatch?) - commands: kill server show-options command command to run something without a window at all? command to purge window history extend list-clients to list clients attached to a session (-a for all?) bring back detach-session to detach all clients on a session? buffer manip: clear, view etc (clear-buffer, show-buffer) - function groups, bind-key ^W { select-window 0; send-key ^W } etc *** - allow fnmatch for -c, so that you can, eg, detach all clients - bind non prefix keys - stuff like rename would be nice to be able to do in-client like screen, if it could be implemented in a non-icky way - there is too much redrawing. use flags? - command mode (! + type tmux command) - 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 - screen_draw_* moved out/renamed (accept TTY_*?) - get rid of stderr/stdout hacks in log.c - split clients into three RB trees by fd: attached/unattached/dead? or tailqs? what would be fastest per-char? - multiple paste buffers - window splitting? - if only one arg to switch-window, assume source-index - test on wsvt25, vt100, vt220 - why do up/down work in angband with screen but not tmux?? -- it's not kkeypad/kcursor - fix kkeypad/kcursor - c/p is still borken in some ways - tobiasu says it is borken on Linux with aterm + TERM=rxvt - poll(2) is broken on OS X/Darwin, a workaround for this would be nice - different screen model? layers perhaps? hmm - cfg file improvements - proper per-window options (per-session list of window ranges?) - better mode features: search, back word, forward word, etc - status bar customisation variables, show-activity, show-last-window - figure out Linux tcsetattr problem, remove header bodge if unnecessary -- For 0.3 -------------------------------------------------------------------- - clear EOL etc CANNOT rely on term using the current colour/attr and probably should not emulate it doing so - show-options - key binding bug: random changes? - test and fix wsvt25 - activity/bell should be per-window not per-link? what if it is cur win in session not being watched?