- decide if TIOCPKT is necessary and either handle it or remove the code - it would be nice if there wasn't so much copying buffers about, audit uses - useful env vars like WINDOW - sort out who controls the buffers in local.c a bit - 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 - scrollback - server doesn't handle SIGTERM anymore... - copy/paste - the whole input/screen/local thing sucks a bit, reorganise/redesign it - line mode/char-at-a-time mode a la telnet? - some of the uses of buffers really sucks. buffer_reverse_add/remove, and buffer_insert_range/delete_range are abominations. this should be rethought - figure out once and for all what is going on with backspace and del - window creation/idle time - attributes could be 8 not 16 bits - profile/optimise, particularly (i suspect) input.c - tidy up input.c a bit - decide about customised status line - rethink data structures. window->index is O(n), could have a w->idx member or use queues/trees and avoid NULLs? - client could pass term/tty fd up to server and then do nothing. what problems would this cause? -- need access to all terminfo data at once... signals? - cleanup/redesign IPC IPC is arse-about-face: too much overhead. 8-byte header for each packet... hrm. already scanning output for \e, could add an extra byte to it for message - could use bsearch all over the place or get rid of smaller tables (clientmsg) - better errors when creating new windows/sessions (how?) - commands should have to care less about CMD_KEY - CLIENT_HOLD sucks - session with CMD_NOSESSION should be an error - each command should have a print op as well for list keys - get rid of MAXNAMELEN limits (sessid) - List available commands on ambigous command - 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 to set attributes: bold, etc -- For 0.1 -------------------------------------------------------------------- - man page - sort out bell: passing through should be optional - commands: refresh session (similar to detach: -a for all, else if key redraw cur, else do nothing) rename sessions swap windows link/copy windows unlink window (error if window only linked to one session) kill window (C-b backsp) kill session (no not bind by default) set shell - handle tmux in tmux (check $TMUX and abort) - check for some reqd terminfo caps on startup