mirror of
https://github.com/tmate-io/tmate.git
synced 2024-11-23 16:43:11 +01:00
78 lines
3.8 KiB
Plaintext
78 lines
3.8 KiB
Plaintext
- useful env vars like WINDOW?
|
|
- 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
|
|
- 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
|
|
- decide about customised status line
|
|
- 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
|
|
- 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
|
|
- 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? fnmatch?)
|
|
- commands:
|
|
start server
|
|
kill server
|
|
show-options command
|
|
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?
|
|
paste buffer etc shouldn't be limited to keys
|
|
buffer manip: clear, view etc (clear-buffer, show-buffer)
|
|
- function groups, bind-key ^W { select-window 0; send-key ^W } etc ***
|
|
- allow fnmatch for -c, so that you can, eg, detach all clients
|
|
- 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
|
|
- XXX should -i for win idx be before cmd too??
|
|
- bind non prefix keys
|
|
- 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
|
|
- there is too much redrawing. use flags?
|
|
- command mode (! + type tmux command)
|
|
- 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?
|
|
- multiple paste buffers
|
|
- window splitting?
|
|
- if only one arg to switch-window, assume source-index
|
|
- test on wsvt25, vt100, vt220
|
|
- clear EOL etc CANNOT rely on term using the current colour/attr and probably
|
|
should not emulate it doing so
|
|
- 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
|
|
- tobiasu says it is borken on Linux with aterm + TERM=rxvt
|
|
- poll(2) is broken on OS X/Darwin, a workaround for this would be nice
|
|
|
|
-- For 0.3 --------------------------------------------------------------------
|
|
- anything which uses cmd_{send,recv}_string will break if the string is
|
|
split. string length should be part of the command size
|
|
- chmod +x socket when any client is attached (upd in lost/accept)
|