| - 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 |
| - 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 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 |
| - refer to windows by name etc (duplicates? fnmatch?) |
| - commands: |
| 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? |
| clone-session command to link all windows to a new session |
| - 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 |
| - 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 |
| - split clients into three RB trees by fd: attached/unattached/dead? |
| or tailqs? what would be fastest per-char? |
| - window splitting? |
| - c/p is still borken in some ways |
| - better mode features: search, back word, forward word, etc |
| - flags to centre screen in window |
| - better terminal emulation (identify, insert mode, some other bits) |
| - when resizing, use history |
| - audit for leftover/unused code |
| - commands: save-buffer -b number filename |
| load-buffer -b number filename |
| copy-buffer -s src-session -t dst-session |
| -a src-index -b dst-index |
| (copy from other session) |
| - activity/bell should be per-window not per-link? what if it is cur win in |
| session not being watched? |
| - tidy up window modes |
| - problems with force-width when wrapping line in emacs? |
| - 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 |
| - OPTIONS section in man page with description of new option handling |
| - update set/setw in man page with -g and -u flags |
| - more # commands in status-left,right eg #H for hostname. others? |
| - input.c is too complicated. simplify? |
| - try change from pass-though model to redraw model (use updated screen |
| data). maybe too slow though? |
| - use a better termcap internally instead of screen, perhaps xterm |
| - tty.c is a bit ugly |
| - document xterm-keys |
| - document server-info |
| - document window options changes |
| - a window mode to show a clock |
| - a key binding to display the status line when it is turned off |