|  | - 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 | 
|  | - 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) | 
|  | - nested sessions, ie session as window - moving to it moves into session | 
|  | (remembering parent) | 
|  | - 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-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: | 
|  | 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 | 
|  | - 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? | 
|  | - window splitting? | 
|  | - 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 | 
|  | - poll(2) is broken on OS X/Darwin, a workaround for this would be nice | 
|  | - different screen model? layers perhaps? hmm | 
|  | - cfg file improvements (env vars particularly) | 
|  | - better mode features: search, back word, forward word, etc | 
|  | - flags to centre screen in window | 
|  | - get rid of DEFDATA etc | 
|  |  | 
|  | -- For 0.4 -------------------------------------------------------------------- | 
|  |  | 
|  | - document zombie windows | 
|  | - document buffer stuff | 
|  |  | 
|  | -- For 0.5 -------------------------------------------------------------------- | 
|  |  | 
|  | - 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 | 
|  | (from other session) | 
|  | - clear EOL etc CANNOT rely on term using the current colour/attr and probably | 
|  | should not emulate it doing so | 
|  | - activity/bell should be per-window not per-link? what if it is cur win in | 
|  | session not being watched? | 
|  | - tidy up window modes | 
|  | - support \033_string\033\\ for window title too | 
|  | - list-keys should be sorted | 
|  | - problems with force-width when wrapping line in emacs? | 
|  | - command history for command-prompt. better tab completion (use options too) | 
|  | - window options should be done similarly to standard options | 
|  | - next prev word etc in command prompt | 
|  | - split keys in command prompt/scroll mode/copy mode into vi and emacs and | 
|  | have a "edit-mode" option select which keymap | 
|  | - zombie windows: don't disappear when the command dies. new command | 
|  | respawn-window [command] to restart; ommitting commands uses previous | 
|  | - many more info displays for various things |