Commit Graph

244 Commits

Author SHA1 Message Date
Nicholas Marriott
6304e23984 Record intermediate for p2/s2 and fake up charset redefinition (some programs use it to switch character set). 2008-11-04 20:41:10 +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
df2b3bcf44 Fix stupid GNU getopt behaviour. 2008-09-25 23:28:15 +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
f07cedf048 Rename some functions. 2008-09-10 19:15:06 +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
d4173e2a78 Style tweaks. 2008-09-08 22:18:03 +00:00
Nicholas Marriott
6674197e85 Fix bold/non-bold mismatch in 256 colour mode by adding an extra 8 bits (ick) onto the attributes and using two of them to mark the fg and bg as 256 colours when necessary. If only it was 255 colours we would have one value for default and wouln't need this :-/. 2008-09-08 22:03:56 +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
8ed403e309 Tidy logging and lose stdout hacks for _info. 2008-08-08 17:35:42 +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
c39c1618c7 Spacing. 2008-07-24 22:21:28 +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
97212771b5 Support keypad. Change cursor key output. 2008-07-23 23:44:50 +00:00
Nicholas Marriott
892d1b534e Split emacs/vi keys into seperate tables. 2008-07-02 21:22:57 +00:00
Nicholas Marriott
e5cf8594e8 long for pid. 2008-07-01 20:35:16 +00:00
Nicholas Marriott
dd41035a4d Protocol versioning, version is checked on identify message. 2008-07-01 19:47:02 +00:00
Nicholas Marriott
797f04b648 Document buffer stuff. 2008-06-30 05:34:06 +00:00
Nicholas Marriott
d90d646ca8 Zombie windows, requested by Will Maier. 2008-06-29 07:04:31 +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
758efb3947 Handle escaped keys properly and use M-f/M-b in copy mode. 2008-06-25 07:30:08 +00:00
Nicholas Marriott
59da4dce67 list-commands command. 2008-06-23 22:24:16 +00:00
Nicholas Marriott
b69f4a3312 Split internal status-colour into status-fg/status-bg options and lose workarounds in set-option stuff. 2008-06-23 22:12:29 +00:00
Nicholas Marriott
c24d849fa4 Split options into a table to allow abbreviations. 2008-06-23 07:41:21 +00:00
Nicholas Marriott
09a6b8d9c8 timespecadd, fgetln headers. 2008-06-22 22:20:07 +00:00
Nicholas Marriott
a52be0e194 More missing bits from Solaris. 2008-06-22 21:52:41 +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
2bd92e5f18 Lose unnecessary flags on context. 2008-06-21 10:19:36 +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
9798dcd4df Start of improved buffer code. Only set-buffer/show-buffer commands so far. 2008-06-20 08:36:20 +00:00
Nicholas Marriott
17fde823a8 Freeze output when showing display line, fixes problems when no status line. 2008-06-20 06:36:01 +00:00
Nicholas Marriott
7cebf4768b Hide cursor with flag. 2008-06-19 23:07:11 +00:00
Nicholas Marriott
74d8f0bf1d Command prompt for interactive commands. 2008-06-19 20:45:21 +00:00
Nicholas Marriott
c3b7a49cc1 Editable prompt. Not used for anything yet. More to come. 2008-06-19 19:40:35 +00:00
Nicholas Marriott
9ef5bdc7c0 Show status messages without blocking the server. 2008-06-19 18:27:55 +00:00
Nicholas Marriott
9b0ff4cfc0 More Solaris stuff. Use ttyname, use ncurses,h. 2008-06-18 20:58:03 +00:00
Nicholas Marriott
b7cefe4b6e NO_ASPRINTF. 2008-06-18 20:12:19 +00:00
Nicholas Marriott
be53d7f298 More Sun OS crap. 2008-06-18 20:11:25 +00:00
Nicholas Marriott
0d5ad358ae forkpty for Sun OS. 2008-06-18 19:52:29 +00:00
Nicholas Marriott
fed1a3ba8a compat/daemon.c 2008-06-18 19:36:27 +00:00
Nicholas Marriott
19b7946a85 Start of Solaris port. 2008-06-18 19:34:50 +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
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
62d7ad2690 Clear blank area properly on redraw, and add a marker line below it. 2008-06-14 12:05:06 +00:00
Nicholas Marriott
d51f075a4e Use a socketpair to synchronise server startup. 2008-06-07 07:27:28 +00:00
Nicholas Marriott
958069575d Clear clients with flag too. 2008-06-07 07:13:08 +00:00
Nicholas Marriott
77224aaf8b Be more conservative about redrawing using flags. 2008-06-07 06:47:38 +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
6a187bb8d3 Some Linux fixes; some code tidying. Don't redraw status bar so often. 2008-06-06 17:20:30 +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
7842d29673 Revert attempt to fix stray updates, turns out it was clock :-/. 2008-06-04 19:20:10 +00:00
Nicholas Marriott
39be570b20 vi keys from Will Maier. 2008-06-04 18:50:35 +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
73c9b25d2d It is too easy to create things in the same second; use a timespec instead. 2008-06-03 18:13:54 +00:00
Nicholas Marriott
743956edf8 Allow -c anywhere -s was allowed. 2008-06-03 16:55: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
8731755ab4 Add a windowonly generic command and use it where appropriate. Also trim includes and unused. 2008-06-02 22:09:49 +00:00
Nicholas Marriott
95cc21c251 Quick man page update, also fix some usages and get rid of some CMD_KEY checks. 2008-06-02 21:36:51 +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
65f4284e7f New command, send-keys, to send a set of keys. 2008-06-01 20:20:25 +00:00
Nicholas Marriott
abe745f991 Add limits.h 2008-05-31 18:04:57 +00:00
Nicholas Marriott
205b78ec58 Some key tweaks, fix status bar to not rely on attr. 2008-01-03 21:32:11 +00:00
Nicholas Marriott
21d10e6894 Use the current attr/colours for filling in new areas, this fixes the echo \\033[35\;46m\\033[2J bug. 2007-12-06 21:57:57 +00:00
Nicholas Marriott
2bc8108b3e Save term data in a linked list and reuse it. 2007-12-06 18:28:55 +00:00
Nicholas Marriott
8ec9b07c83 Screen debugging. 2007-12-06 10:36:01 +00:00
Nicholas Marriott
7dc18f68e3 set/reset mode window functions. 2007-12-06 10:04:43 +00:00
Nicholas Marriott
103748d6ad Major reorganisation of screen handling. 2007-12-06 09:46:23 +00:00
Nicholas Marriott
8419e99789 The tty code already stores attributes and doesn't modify them if unaltered, so the screen drawing code doesn't need to do so too. This probably also fixes bugs when switching screens where the actual tty attributes may not have been what the draw code (erroneously) expected. 2007-12-02 18:23:10 +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
f47ab8f13f Don't nuke charset flag on [0m. Also rename DRAWING -> CHARSET flag. 2007-11-27 23:01:27 +00:00
Nicholas Marriott
7034ba236f Same exit process applied to detach. 2007-11-27 20:03:08 +00:00
Nicholas Marriott
5cd1d459c5 Three-stage exit process so that [] message printing works on detach etc. 2007-11-27 20:01:30 +00:00
Nicholas Marriott
80e30f693c Minor tweaks/missed bits. 2007-11-27 19:32:15 +00:00
Nicholas Marriott
76c8a590db Big internal reorganisation to move tty control into parent. 2007-11-27 19:23:34 +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
b9034946ad Reset before calling window_draw otherwise it'll have the wrong idea of the current state (since it copies from screen). 2007-11-24 18:32:52 +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
26c8303733 Tidier code by moving mess into functions. 2007-11-22 19:40:17 +00:00
Nicholas Marriott
7ab0b466fe Text selection with C-space. 2007-11-22 19:17:01 +00:00