- 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 - output to window-more 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: 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; also make it support modes to support vi. is there something could use for this? editline(3)/readline? - 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 - document OPTIONS section in man page with description of new option handling - document 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 default-path - document xterm-keys - document server-info - document window options changes - document clock-mode - document password/locking commands - document lock-after-time - document panes and window splitting: split-window and switch-pane - a command to display the status line briefly when it is turned off - neww should support -k - FAQ "Can I have some examples of cool things I can do with tmux?" -- linkw, more?? 17:06 < NicM> tmux new then eg tmux linkw -s0:0 17:06 < simmel> NicM link-window? 17:06 < NicM> yes 17:06 < NicM> create a new session with tmux new 17:07 < NicM> then link your compilation or irc window into it with tmux linkw 17:07 < NicM> i have a set of secondary sessions set up by default with irc linked into them already 17:07 < NicM> so if want to view it in a separate window 17:07 < NicM> i just attach one of them 17:07 < NicM> and keep working in my original session 17:07 < NicM> but you can do it manually as well 17:08 < simmel> How do I unlink then? 17:08 < NicM> tmux unlinkw 17:08 < NicM> or tmux killw 17:08 < simmel> Doesnt that kill the original one too? 17:08 < NicM> no 17:08 < NicM> it unlinks it from the session 17:09 < NicM> or kills it if it is only linked to one 17:09 < NicM> unlinkw only unlinks it - clone session command - panes: swap-panes close-pane move-pane (to window) pane resizing >2 panes per window - would be nice if tmux could be the shell - some sort of extension to command prompt so can do eg bind m command-prompt 'split "man %%"' bind r command-prompt 'renamew "%%"' which then asks for a string, substitutes %% in command and executes it