tmate/TODO

110 lines
4.8 KiB
Plaintext
Raw Normal View History

- useful env vars like WINDOW?
- better checking/emulation for missing term requirements
- alt charset, borders etc (terminfo(5)/Line Graphics)
- new window command prompt
2007-08-27 12:24:03 +02:00
- mouse handling and some other bits elinks needs
- line mode/char-at-a-time mode a la telnet?
2007-11-12 21:59:33 +01:00
- handle ioctl/termios stuff on window sockets
2007-09-21 21:24:37 +02:00
- figure out once and for all what is going on with backspace and del
2007-11-12 21:59:33 +01:00
backspace should be translated per the termios setting.
del passed through?
2007-09-29 21:58:26 +02:00
- window creation/idle time
- profile/optimise, particularly (i suspect) input.c
2007-10-01 19:37:41 +02:00
- decide about customised status line
- could use bsearch all over the place or get rid of smaller tables (clientmsg)
2007-10-03 14:34:16 +02:00
- better errors when creating new windows/sessions (how?)
- commands should have to care less about CMD_KEY
- session with CMD_NOSESSION should be an error
2007-10-04 11:30:53 +02:00
- each command should have a print op as well for list keys
2007-10-04 16:18:44 +02:00
- Implicitly add exec to the commands for new windows (switch to disable it)
2007-10-04 16:26:15 +02:00
- nested sessions, ie session as window - moving to it moves into session
(remembering parent)
2007-10-05 12:35:15 +02:00
- Nested sessions over the network, plug-in another tmux as a window/subsession
2007-10-12 11:48:53 +02:00
- 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
2007-10-24 17:01:25 +02:00
- save/restore (DECSC/DECRC) are ugly. maybe a struct screen_attr and memcpy
2007-10-25 19:44:25 +02:00
- force maximum terminal size (centred?)
2007-11-12 17:09:08 +01:00
- 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? fnmatch?)
- commands:
2007-11-20 13:00:16 +01:00
start server
kill server
2007-11-24 18:21:12 +01:00
show-options command
command to run something without a window at all?
2007-11-24 18:21:12 +01:00
command to insert a key (or other data...) into a window (send-key)
should paste-buffer become send-buffer.....
2007-11-21 22:28:58 +01:00
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?
2007-11-23 18:52:54 +01:00
paste buffer etc shouldn't be limited to keys
buffer manip: clear, view etc
- function groups, bind-key ^W { select-window 0; send-key ^W } etc
- allow fnmatch for -c, so that you can, eg, detach all clients
2007-11-16 22:31:03 +01:00
- session specification is all over the place. some things use -s before cmd,
some -s after, some no -s, there are various uses of -n. the differences are
sort of logical, but confusing. needs rethought
2007-11-21 14:11:41 +01:00
- XXX should -i for win idx be before cmd too??
- bind non prefix keys
2007-11-20 19:46:32 +01:00
- stuff like rename would be nice to be able to do in-client like screen, if
it could be implemented in a non-icky way
2007-11-21 21:04:37 +01:00
- there is to much redrawing. use flags?
- command mode (! + type tmux command)
2007-11-23 14:11:43 +01:00
- 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
2007-11-23 23:51:13 +01:00
- 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
2007-11-30 12:08:35 +01:00
- chmod +x socket when any client is attached
- split clients into three RB trees by fd: attached/unattached/dead?
or tailqs? what would be fastest per-char?
2007-12-06 11:04:43 +01:00
- multiple paste buffers
2007-10-02 19:28:53 +02:00
2007-10-19 22:43:55 +02:00
-- For 0.2 --------------------------------------------------------------------
- window splitting?
- anything which uses cmd_{send,recv}_string will break if the string is
split. string length should be part of the command size
- echo \\033[35\;46m\\033[2J last line quirk (with C-b r)
2007-11-30 12:08:35 +01:00
- quick intro section (tmux new/attach/detach) etc
2007-12-03 11:47:27 +01:00
- is ACS the right way round??
2007-11-28 00:28:51 +01:00
--------
screen redraw.
ops:
- redraw screen or section of screen to tty without altering it
(screen-redraw.c, screen_redraw_ctx)
(switching screen etc)
- draw to screen and optionally tty
(window output)
(screen-write.c, screen_write_ctx)
- copy line/column from one screen (inc history) at offset??
(scroll/copy mode)
2007-11-28 00:28:51 +01:00
--------
kmous -- \E[M
mouse init: putp("\033[?1000h");
mouse deinit: putp("\033[?1000l");
\e[M CbCxCy
* On button press or release, xterm sends ESC [ M CbCxCy.
* The low two bits of Cb encode button information: 0=MB1
* pressed, 1=MB2 pressed, 2=MB3 pressed, 3=release. The
* upper bits encode what modifiers were down when the
* button was pressed and are added together. 4=Shift,
* 8=Meta, 16=Control. Cx and Cy are the x and y coordinates
* of the mouse event. The upper left corner is (1,1).
get_mouse getm Gm Curses should get
button events
key_mouse kmous Km Mouse event has
occurred
mouse_info minfo Mi Mouse status
information