Commit Graph

270 Commits

Author SHA1 Message Date
Nicholas Marriott
7a82e86827 Make window options work the same was as session options, add mode-fg/mode-bg options, force -g for global on set/show/setw/showw/ 2008-12-08 16:19:51 +00:00
Nicholas Marriott
d0342f4a04 Ability to show window title on status line. 2008-12-05 20:04:06 +00:00
Nicholas Marriott
8f163b8caa Support dfly, from joshe. 2008-11-27 18:55:47 +00:00
Nicholas Marriott
5ca710d9e3 Disable UTF-8 by default and add options to enable it. 2008-11-16 13:28:59 +00:00
Nicholas Marriott
46f5e42145 Keep stack of previous windows.
Check for op (orig_pair) for default colours.
2008-11-16 10:10:26 +00:00
Nicholas Marriott
4e4aefaf7e Don't try to redraw status line in prompt mode. 2008-11-04 20:55:58 +00:00
Nicholas Marriott
0ba0fd389c Translate 256 colours to 16. 2008-10-09 22:00:33 +00:00
Nicholas Marriott
185f7297e8 Better OSC support for title setting, and support APC as well. 2008-10-09 21:22:16 +00:00
Nicholas Marriott
62457bce0b Trim. 2008-09-26 06:45:28 +00:00
Nicholas Marriott
efe557313a Internal screen data rewrite for better 256 colour/UTF-8 support. 2008-09-25 20:08:57 +00:00
Nicholas Marriott
ded348064a Split colour functions from screen. 2008-09-10 18:59:29 +00:00
Nicholas Marriott
19a2c87f04 Initial UTF-8 support. 2008-09-09 22:16:37 +00:00
Nicholas Marriott
4235ddb4e8 Initial 256 colour support, lightly tested. 2008-09-08 17:40:51 +00:00
Nicholas Marriott
33aa931541 Support OS X by moving to gettimeofday(2) and adding poll compat from OpenSSH. 2008-08-28 17:45:30 +00:00
Nicholas Marriott
de0e1c6284 Lose ensure* stuff. 2008-08-07 20:20:52 +00:00
Nicholas Marriott
ba597da72e Environment variables in configuration file. 2008-07-25 17:20:40 +00:00
Nicholas Marriott
3337dfcae5 Support keypad mode, and get rid of SCREEN_DEF*. Meant to commit these separately but forgot :-/. 2008-07-24 21:42:40 +00:00
Nicholas Marriott
ee8a9d2458 Handle kcursor+kkeypad (switch to OA from [A). 2008-07-24 00:03:15 +00:00
Nicholas Marriott
e00736b811 Revert this, it breaks emacs. 2008-07-23 23:46:51 +00:00
Nicholas Marriott
97212771b5 Support keypad. Change cursor key output. 2008-07-23 23:44:50 +00:00
Nicholas Marriott
403b1b27ab Handle exact match properly. 2008-07-19 10:07:50 +00:00
Nicholas Marriott
892d1b534e Split emacs/vi keys into seperate tables. 2008-07-02 21:22:57 +00:00
Nicholas Marriott
dd41035a4d Protocol versioning, version is checked on identify message. 2008-07-01 19:47:02 +00:00
Nicholas Marriott
bd1a705bbe 0.4 released. 2008-07-01 05:43:01 +00:00
Nicholas Marriott
d90d646ca8 Zombie windows, requested by Will Maier. 2008-06-29 07:04:31 +00:00
Nicholas Marriott
571935c823 Handle bad session/client properly. 2008-06-27 17:10:01 +00:00
Nicholas Marriott
b87789707b Oops, forgot to commit move-window. Also add select-prompt to allow index to be typed. 2008-06-25 20:43:14 +00:00
Nicholas Marriott
7836298f29 Allow use of alt keys. move-window command. 2008-06-25 20:33:20 +00:00
Nicholas Marriott
eb5638f3e7 Only lowercase key bindings. 2008-06-25 19:18:20 +00:00
Nicholas Marriott
26792fc3a8 Tweak. 2008-06-25 19:12:30 +00:00
Nicholas Marriott
758efb3947 Handle escaped keys properly and use M-f/M-b in copy mode. 2008-06-25 07:30:08 +00:00
Nicholas Marriott
cb6c14502b Next/previous word in copy-mode. 2008-06-24 07:00:39 +00:00
Nicholas Marriott
59da4dce67 list-commands command. 2008-06-23 22:24:16 +00:00
Nicholas Marriott
c24d849fa4 Split options into a table to allow abbreviations. 2008-06-23 07:41:21 +00:00
Nicholas Marriott
46383e33f8 Don't be clever and translate default colour. 2008-06-22 16:54:08 +00:00
Nicholas Marriott
e70e9513a8 Simple tab completion of option names in command prompt. 2008-06-21 14:11:39 +00:00
Nicholas Marriott
456ff329c3 Only set title if TERM looks vaguely okay. Also use newline for, er, newline rather than cursor_down. 2008-06-21 13:11:28 +00:00
Nicholas Marriott
a65238e98c Strip padding from terminfo strings. 2008-06-21 12:41:05 +00:00
Nicholas Marriott
3128de3f19 buffer-limit option. 2008-06-20 18:45:35 +00:00
Nicholas Marriott
4e4f71febb Swap in new paste buffer code and add a couple more commands. 2008-06-20 17:31:48 +00:00
Nicholas Marriott
e9000e4c34 Wake up every 100 ms instead of 500. Add note. 2008-06-19 23:24:40 +00:00
Nicholas Marriott
a1db273dc2 display-time option to set message display time. 2008-06-19 23:20:45 +00:00
Nicholas Marriott
73d1558ed0 status-lines -> status, prefix-key -> prefix 2008-06-19 22:04:02 +00:00
Nicholas Marriott
74d8f0bf1d Command prompt for interactive commands. 2008-06-19 20:45:21 +00:00
Nicholas Marriott
8078deea3f Missed update. 2008-06-19 19:37:39 +00:00
Nicholas Marriott
8873c79cbc Set window title to current session. New options set-titles to disable. 2008-06-18 18:52:44 +00:00
Nicholas Marriott
2d3ea8b5b4 Display <> for more windows and highlight if activity. 2008-06-18 17:14:02 +00:00
Nicholas Marriott
61a41dc80e To 0.4. Some other Makefile tweaks. 2008-06-18 16:34:48 +00:00
Nicholas Marriott
55d5b83408 Informational messages on window option changes. 2008-06-16 17:35:40 +00:00
Nicholas Marriott
1d0810547f show-window-options command. 2008-06-16 06:10:02 +00:00
Nicholas Marriott
557b6b86b0 Add a couple of extra option types, and implement show-options command. 2008-06-15 08:01:54 +00:00
Nicholas Marriott
0f403474aa New window options: force-width and force-height. This will force a window to
an arbitrary width and height (0 for the default unlimited). This is neat for
  emacs which doesn't have a sensible way to force hard wrapping at 80
  columns. Also, don't try to be clever and use clr_eol when redrawing the
  whole screen, it causes trouble since the redraw functions are used to draw
  the blank areas too.
2008-06-14 16:47:20 +00:00
Nicholas Marriott
0bfd7a5023 Don't die on empty strings. 2008-06-14 08:11:17 +00:00
Nicholas Marriott
d00914ff2b Set socket mode +x if sessions attached. 2008-06-08 19:49:04 +00:00
Nicholas Marriott
713bad063a Make status-interval actually changeable. 2008-06-07 06:13:21 +00:00
Nicholas Marriott
367e002bc2 New flag: aggressize resize. Resize window when to size of smallest session for which it is _current_ window. 2008-06-06 20:02:27 +00:00
Nicholas Marriott
3cd4a08ffb Make server exit when last session dies. Also fix window check for status activity redraw. 2008-06-06 17:55:27 +00:00
Nicholas Marriott
15514592f9 Don't use entry init since it may be dependent on key. 2008-06-05 23:17:03 +00:00
Nicholas Marriott
197347b61f Don't bork on link/swap the same window. Also extend comment. 2008-06-05 22:59:38 +00:00
Nicholas Marriott
0b9b873a55 Big reorganisation of command-line syntax. 2008-06-05 21:25:00 +00:00
Nicholas Marriott
642c0b00ab Easy bits of arg printing for list-keys. 2008-06-05 16:35:32 +00:00
Nicholas Marriott
879400e1f2 Support binding 27-31. 2008-06-04 20:01:36 +00:00
Nicholas Marriott
04c60283c4 status is a toggle. 2008-06-04 18:34:56 +00:00
Nicholas Marriott
0f95671fe3 Disable/enable window activity monitoring with set-window-option command. 2008-06-04 17:54:27 +00:00
Nicholas Marriott
14b9512546 Add activity monitoring, also invert items on taskbar which have activity. 2008-06-04 16:46:23 +00:00
Nicholas Marriott
f7ba4dfdc9 Bring select-window into line with everything else wrt -i. 2008-06-04 16:11:53 +00:00
Nicholas Marriott
811e75da52 Status bar left and right strings (set with status-left and status-right), and automatic update (at interval set by status-interval). 2008-06-04 05:40:35 +00:00
Nicholas Marriott
9e6090a7a2 Per-session configuration options. 2008-06-03 21:42:37 +00:00
Nicholas Marriott
743956edf8 Allow -c anywhere -s was allowed. 2008-06-03 16:55:09 +00:00
Nicholas Marriott
3e6b145923 Allow fnmatch(3) on -s, and select newest session if multiple. 2008-06-03 05:47:09 +00:00
Nicholas Marriott
f91e7bfd38 If no command is specified, assume new-session. 2008-06-03 05:35:51 +00:00
Nicholas Marriott
eaee4dc800 Quick and dirty kill-server command. 2008-06-03 05:10:38 +00:00
Nicholas Marriott
a26f58c7c3 Last bits of basic configuration file. By default in ~/.tmux.conf or specified with -f. Just a list of tmux commands executed when the server is started and before and any session/window is created. 2008-06-02 21:08:36 +00:00
Nicholas Marriott
c7243b73cb Move -s and -c down a level so handling them is the responsibility of the command (with some helper functions), rather than the top-level. This changes the action command syntax so that -s and -c must be after the command rather than before. 2008-06-02 18:08:17 +00:00
Nicholas Marriott
cea201df20 Don't die if no dst window and -k to linkw. 2008-06-01 20:32:41 +00:00
Nicholas Marriott
65f4284e7f New command, send-keys, to send a set of keys. 2008-06-01 20:20:25 +00:00
Nicholas Marriott
5569ff9723 Don't hang when window closes early; also add lots more debugging. 2008-05-31 20:04:15 +00:00
Nicholas Marriott
0dbbd777b1 Linux rxvt doesn't support parm_dch or delete_character. 2008-05-10 12:50:25 +00:00
Nicholas Marriott
ccfeb316a6 Don't attempt to reset tty if it is dead. 2008-01-02 19:22:21 +00:00
Nicholas Marriott
0f2666ac77 Restore termcap checks. 2007-12-06 11:05:04 +00:00
Nicholas Marriott
103748d6ad Major reorganisation of screen handling. 2007-12-06 09:46:23 +00:00
Nicholas Marriott
3962c5f706 Change window name on \ek...\e\. 2007-11-30 11:08:35 +00:00
Nicholas Marriott
043514a834 Preliminary mouse support. 2007-11-27 23:28:51 +00:00
Nicholas Marriott
76c8a590db Big internal reorganisation to move tty control into parent. 2007-11-27 19:23:34 +00:00
Nicholas Marriott
c5b1fa9411 Shift history up by 10% at a time. 2007-11-26 22:18:57 +00:00
Nicholas Marriott
818df923de Add ^A && ^E to copy mode. Also use STDIN instead of STDOUT in a couple of places. 2007-11-26 20:36:30 +00:00
Nicholas Marriott
15511cb41a Support for VT100 graphics mode. Also lose some redundant checks. 2007-11-24 23:29:49 +00:00
Nicholas Marriott
a01093603b Inc region in debug msg. 2007-11-23 22:51:13 +00:00
Nicholas Marriott
8da0b1fb99 Mostly-complete copy and paste. 2007-11-23 17:52:54 +00:00
Nicholas Marriott
9c584432d0 history-limit option. 2007-11-23 12:48:20 +00:00
Nicholas Marriott
c64cf68244 Cut memory consumption by only allocating lines when there is actually data on them, and only as much as the right-most data. Everything else is filled in at runtime. 2007-11-21 22:20:44 +00:00
Nicholas Marriott
acb3661b66 Scrollable win for command output. 2007-11-21 19:44:05 +00:00
Nicholas Marriott
24c39950ff Redo screen.c functions to make them readable and more flexible. Make scroll mode only redraw waht it needs. 2007-11-21 18:24:49 +00:00
Nicholas Marriott
d5edaf988e Horizontal history/scrolling. 2007-11-21 15:35:53 +00:00
Nicholas Marriott
9a6e47cfa8 Initial history support. 2007-11-21 13:11:41 +00:00
Nicholas Marriott
c0572ea992 Fix a format string bug and sprinkle some printflikes. 2007-11-20 18:11:37 +00:00
Nicholas Marriott
b04bffc9c9 +index.html.in 2007-11-20 17:01:38 +00:00
Nicholas Marriott
958cd9cb94 -k on link-window to kill dest window if it exists. 2007-11-17 08:21:54 +00:00
Nicholas Marriott
54d01c1a5f Two-column display for on-line print. 2007-11-16 22:06:45 +00:00
Nicholas Marriott
6859306235 Ooops use ->client here, not cmdclient. 2007-11-16 21:43:43 +00:00
Nicholas Marriott
6e04524596 switch-client command. 2007-11-16 21:31:03 +00:00
Nicholas Marriott
b359f9b594 Add -c option to specify client, and move detach/refresh to client rather than session. 2007-11-16 21:12:31 +00:00
Nicholas Marriott
ce5f02fc9e Report available commands on ambiguous commands. Tidy TODO a bit. 2007-11-16 13:23:59 +00:00
Nicholas Marriott
dc8fb1e1dc Force default colours if terminal supports it. 2007-11-12 20:29:43 +00:00
Nicholas Marriott
e79a41cff9 Finish off man page. 2007-11-12 16:09:08 +00:00
Nicholas Marriott
e4a6cdefda kill-window command. 2007-11-12 14:21:41 +00:00
Nicholas Marriott
6409f2b406 C-space is "^ " not "^@". 2007-11-09 17:09:34 +00:00
Nicholas Marriott
5940c5ff88 Support tab. 2007-11-09 17:06:01 +00:00
Nicholas Marriott
d9b85594f8 Initial man page. 2007-11-09 15:23:28 +00:00
Nicholas Marriott
0b832ea466 -V option to show tmux version. 2007-11-09 11:03:35 +00:00
Nicholas Marriott
16321270c8 rename-session command. 2007-11-09 11:02:01 +00:00
Nicholas Marriott
f92243caa0 Check for required term capabilities on start. 2007-11-08 10:39:52 +00:00
Nicholas Marriott
35591ecd4e Try write even if read gets signal, some other tweaks. 2007-11-07 19:41:17 +00:00
Nicholas Marriott
08d9f46aae Make it build/run on Linux. 2007-10-31 14:26:26 +00:00
Nicholas Marriott
48ad0431fb swap-window command. 2007-10-30 11:10:33 +00:00
Nicholas Marriott
ab097f0c0c Don't save/restore ry_*. 2007-10-26 17:15:50 +00:00
Nicholas Marriott
4a325c8f93 unlink-window command. Also fix some u_int -> int problems. 2007-10-26 16:57:32 +00:00
Nicholas Marriott
5a954bd9bd link-window command to link a window into another session. 2007-10-26 13:03:59 +00:00
Nicholas Marriott
4ba3cf60be Reorg window data structures. Add an intermediate data type (struct winlink) to hold index and make sessions hold a RB tree of them rather than a fixed array. 2007-10-26 12:29:07 +00:00
Nicholas Marriott
9f06104c3a has-session command. 2007-10-25 17:44:25 +00:00
Nicholas Marriott
ebeb14211d Handle DSR for resize(1). 2007-10-24 15:29:29 +00:00
Nicholas Marriott
e21587864a Save restore attr. 2007-10-24 15:01:25 +00:00
Nicholas Marriott
688a487570 Lift last MAXNAMELEN limit on -s argument. 2007-10-23 10:48:23 +00:00
Nicholas Marriott
25e94a0526 List client command. 2007-10-23 09:36:19 +00:00
Nicholas Marriott
f2f1b8fc81 Add default-command option and change default to be $SHELL rather than $SHELL -l. Also try to read shell from passwd db if $SHELL isn't present. 2007-10-20 09:57:08 +00:00
Nicholas Marriott
543e7b0f03 -n is now -s on new-session. 2007-10-19 17:15:29 +00:00
Nicholas Marriott
1b9647669a Kill window command. Nuke some backspace stuff. 2007-10-19 11:10:35 +00:00
Nicholas Marriott
de24fbb35c Add a bell-action option. 2007-10-19 10:21:36 +00:00
Nicholas Marriott
94f003bbec Refresh session command. 2007-10-19 09:21:26 +00:00
Nicholas Marriott
37f17a7e5b Warn and bork on nested sessions ($TMUX exists). 2007-10-12 14:46:48 +00:00
Nicholas Marriott
514d6fa1ec Accept colours as strings. 2007-10-12 13:51:44 +00:00
Nicholas Marriott
f3404ee922 send-prefix command. 2007-10-12 13:03:58 +00:00
Nicholas Marriott
a02638c0bc Update. 2007-10-12 12:32:34 +00:00
Nicholas Marriott
ad4a7423c0 Mark windows in yellow on status line when bell. 2007-10-12 11:24:15 +00:00
Nicholas Marriott
5a3b92c2df -d option to attach. Also fix CC in Makefile and make it build with DEBUG again. 2007-10-04 21:21:48 +00:00
Nicholas Marriott
1f9a8e70d9 Incomplete resize support. 2007-10-04 19:03:52 +00:00
Maximilian Gass
beae2d91a4 Added my tmux start script as an example (examples/start-tmux.sh) 2007-10-04 14:14:12 +00:00
Maximilian Gass
6a784ba0b0 New sessions can now be given a command for their first window 2007-10-04 13:43:14 +00:00
Maximilian Gass
3c16d72218 Fixed usage statement for new-window 2007-10-04 12:40:56 +00:00
Nicholas Marriott
68a5d5c00b Window attachment, malloc debugging, fix a segfault with no sessions. 2007-10-04 11:52:03 +00:00
Nicholas Marriott
225e07fe38 Select window command. 2007-10-04 10:54:21 +00:00
Nicholas Marriott
19c1e1a800 Rename window. 2007-10-04 10:39:07 +00:00
Nicholas Marriott
57157a1cde set-option command to set meta. 2007-10-04 10:11:32 +00:00
Nicholas Marriott
774b556669 Key binding and unbinding. 2007-10-04 09:30:53 +00:00
Nicholas Marriott
df716ecc8f Rewrite command handling to be more generic. Not finished! 2007-10-03 21:31:07 +00:00
Nicholas Marriott
fe06744d66 String/number arguments.. 2007-10-03 12:34:16 +00:00
Nicholas Marriott
dadc56d754 Key binding, unbinding. 2007-10-03 11:26:34 +00:00
Nicholas Marriott
9bb907f2a7 Move command handling into the server and tidy up some bits. 2007-10-03 10:18:32 +00:00
Nicholas Marriott
a6d3594d39 Redraw client status lines on rename. 2007-10-02 17:45:05 +00:00
Nicholas Marriott
1c4ec6e47e Sync. 2007-10-02 17:36:16 +00:00