summaryrefslogtreecommitdiffstats
path: root/TODO
blob: ceb3b1cf66fd3a9dd5de46e779d9b71fac2d20a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
- 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
- commands:
 	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
- 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?
- 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
- activity/bell should be per-window not per-link? what if it is cur win in
  session not being watched?
- tidy up window modes
- 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
- input.c is too complicated. simplify?
- use a better termcap internally instead of screen, perhaps xterm
- a command to display the status line briefly when it is turned off
- FAQ "Can I have some examples of cool things I can do with tmux?" -- linkw,
  more??
- kill all but current pane
- fix rxvt cursor fg issue (text under cursor can have non-white fg)
- key handling sucks a bit and needs to be reworked
- some people find first window being 0 rather than 1 is awkward on the
  keyboard. what about a new-window-index option that sets the base at which
  tmux starts numbering new windows, then they can do: set -g new-window-index
  1; bind 0 selectw -t:10
- some way to change status line colours based on something? command?
- client sx/sy should be in tty, then can let the terminal wrap at edge
  to allow xterm to pick up it should be one line for its c/p
- should be able to move to a hidden pane and it would be moved into view. pane
  number in status line/top-right would be cool for this
- command to run something without a window at all - output to
  window-more. what for? isnt this the same as doing it w/ splitw/neww now?
- command to purge window history? or apply history-limit changes?
- clone session command
- make command sequences more usable: don't require space around ;, handle
  errors better
- would be nice if tmux could be the shell (tmux attach, but hard link to tmux
  binary as "tmuxsh" or wrapper script?) -- problems with tty dev permissions
- support other mouse modes (highlight etc) and use it in copy mode 
- set-remain-on-exit is a bit of a hack, some way to do it generically?
- set-option should be set-session-option and should be overall global options
  for stuff like mode keys?
- a confirm-before command which asks "Are you sure? (y/n)" before executing
  command, eg bind-key "&" confirm-before "kill-window"
- might be nice if attach-session behaved like switch-client inside an
  existing client
- key to switch to copy mode from scroll mode
- attach should have a flag to create session if it doesn't exist
- clear window title on exit
- better support for stupid margin terminals. strcmp for cons25 sucks, how can
  these be autodetected?
- refer to windows by name etc (duplicates? fnmatch?)
- the output code (tty.c) could do with optimisation depending on term
  capibilities
- resize-pane-up/down should be resize-pane -U/-D. ditto up-pane/down-pane
  should be select-pane -U/-D
- layout/split stuff:
     horiz split command, and similar resizing commands as for vert split
     display the layout in a readable format somewhere
     previous-layout command
     select-layout command
     make manual layout a bit less of a hack and make it handle a grid
     should the layout be a window option???
     more layouts
     better resizing of shells when changing layout
     find and fix bug with clear screen after horiz split
     speed improvements? -- still too slow over ssh!
     hardcoded 81 for left-vertical is nasty
- test bug sshing from freebsd console (tom iirc?)
- fix build on solaris 10
- rotate-window has redraw bugs... :-/

(hopefully) for 0.8, in no particular order:
- nothing!