summaryrefslogtreecommitdiffstats
path: root/TODO
blob: 91ea901360cc3d43cb44503d54d3e2fa570e0487 (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
- 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
- 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
- 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
- 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 slightly arse-about-face: 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
- 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)
- Nested sessions over the network, plug-in another tmux as a window/subsession
- 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
- show-options command
- detach client and other client commands. note that there can only be a
  "current client" on key presses - these should probably act like
  detach-session: -a will do all clients, otherwise use current client if
  key, else do nothing
- check handling of out-of-bound values in input.c, most should be limited
  rather than ignored
- save/restore (DECSC/DECRC) are ugly. maybe a struct screen_attr and memcpy
- force maximum terminal size (centred?)
- per-session toolbar state, other options
- 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?)
- commands:
	kill server
	command to run something without a window at all?
	command to insert a key into a window (send-key)
- function groups, bind-key ^W { select-window 0; send-key ^W } etc
- more(1) style handling for in-client output

-- For 0.1 --------------------------------------------------------------------
- fix mutt problems with redraw (mutt's) status line when reading mail

-- For 0.2 --------------------------------------------------------------------
- copy and paste
- window splitting?