| - key remapping |
| - 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 |
| - List available commands on ambigous command |
| - Implicitly add exec to the commands for new windows (switch to disable it) |
| |
| -- For 0.1 -------------------------------------------------------------------- |
| - man page |
| - commands: |
| refresh client |
| rename sessions |
| swap windows |
| link/copy windows |
| unlink window (error if window only linked to one session) |
| kill window |
| kill session |
| set status on/off |
| set shell |
| - fix resize (check for width problems with multiple clients) |
| - handle tmux in tmux (check $TMUX and abort) |
| - check for some reqd terminfo caps on startup |
| - sort out the pause mess |