Nicholas Marriott
c1726281c9
Handle cursor on/off better.
2009-01-27 21:39:15 +00:00
Nicholas Marriott
c6bd9e2063
Allow status, mode and message attributes to be changed by three new options: status-attr, mode-attr, message-attr. A comma-separataed list is accepted containing: bright, dim, underscore, blink, reverse, hidden, italics, for example: set -g status-attr bright,blink
...
From Josh Elsasser, thanks!
2009-01-27 20:22:33 +00:00
Nicholas Marriott
9cde0c2477
Be more clever about picking window name.
2009-01-26 22:57:20 +00:00
Tiago Cunha
f62ed6aaa3
load-buffer command
2009-01-25 19:00:10 +00:00
Tiago Cunha
d60ad6f483
Make the caller responsible for allocating memory for the paste buffer data
...
(needed by the load-buffer command when dealing with big files since it'll
prevent tmux from dying due to memory exhaustion). From nicm.
2009-01-25 18:51:28 +00:00
Nicholas Marriott
4d9af27b0b
Better error messages for fork.
2009-01-23 16:59:14 +00:00
Nicholas Marriott
392e135349
Handle SIGTERM (and kill-server which uses it), a bit more neatly - tidy up
...
properly and print a nicer message. Same effect though :-)
2009-01-21 22:47:31 +00:00
Nicholas Marriott
19987feaaa
Bring back -p and -l to splitw to specify height as % or nlines.
2009-01-21 19:38:51 +00:00
Nicholas Marriott
2d15f59859
Try to change the window title to match the command running it in. This is done
...
by reading argv[0] from the process group leader of the group that owns the tty
(tcgetpgrp()). This can't be done portably so some OS-dependent code is
introduced (ugh); OpenBSD, FreeBSD and Linux are supported at the moment.
A new window flag, automatic-rename, is available: if this is set to off, the
window name is not changed. Specifying a name with the new-window, new-session
or rename-window commands will automatically set this flag to off for the
window in question. To disable it entirely set the option to off globally (setw
-g automatic-rename off).
2009-01-20 19:35:03 +00:00
Nicholas Marriott
5e55b28d81
Bump protocol.
2009-01-19 18:26:50 +00:00
Nicholas Marriott
93230a64bc
Pass return code from _exec; allow command sequences to work from the command line.
2009-01-19 18:23:40 +00:00
Nicholas Marriott
5f6a351df7
Start the first client with a special socketpair so it is already known to the
...
server rather than playing silly games to get them synchronised before doing
anything.
Change attach-session to start the server.
2009-01-19 17:16:09 +00:00
Nicholas Marriott
4cdc228353
Unbreak UTF-8.
2009-01-18 21:46:30 +00:00
Nicholas Marriott
d1a5fde3d0
-a flags to next/previous window.
2009-01-18 18:31:45 +00:00
Nicholas Marriott
3efd1f5014
find-window command.
2009-01-18 17:20:52 +00:00
Nicholas Marriott
a15f8fc4a6
Support command sequences separated by " ; ". Also clean up command printing.
2009-01-18 14:40:48 +00:00
Nicholas Marriott
8ea49712fd
suspend-client command and suspend client when ^Z key binding is used.
2009-01-18 12:09:42 +00:00
Nicholas Marriott
ff61eee294
Don't use [4] since they are confusing and use the right size for memset. DOH.
2009-01-17 18:38:12 +00:00
Nicholas Marriott
d29ca39e0e
Two new commands, choose-window and choose-session which work only when bound to a key and allow the window or session to be selected from a list.
2009-01-15 19:27:31 +00:00
Nicholas Marriott
78c96751e6
Rename some flags I'm not happy about.
2009-01-14 22:16:57 +00:00
Nicholas Marriott
97fef895f2
Rework the prefix-time stuff. The option is now call repeat-time and defaults to 500 ms. However, it only applies to a small subset of commands, currently: up-pane, down-pane, next-window, previous-window, resize-pane-up, resize-pane-down. These are the commands for which it is obviously useful, having it for everything else was just bloody annoying.
2009-01-14 22:13:30 +00:00
Nicholas Marriott
d1eb153368
switch-pane is now select-pane.
2009-01-14 19:56:55 +00:00
Nicholas Marriott
3f51dcdfc3
up-pane and down-pane commands.
2009-01-14 19:41:15 +00:00
Nicholas Marriott
b4ac8c1342
Multiple window splitting.
2009-01-14 19:29:32 +00:00
Nicholas Marriott
f85559144f
kill-pane command.
2009-01-13 06:50:10 +00:00
Nicholas Marriott
60bfaf5bae
prefix-time option to allow multiple commands without additional prefixes.
2009-01-12 23:37:02 +00:00
Nicholas Marriott
a88eba3805
More hacks for key handling.
2009-01-12 22:48:00 +00:00
Nicholas Marriott
c35a50b21a
Commands to resize panes; also a pane generic cmd, not used yet.
2009-01-12 19:23:14 +00:00
Nicholas Marriott
7cd3cf0ead
Make the window pane code handle panes of different sizes, and add a -l and -p arguments to split-window to specify the new window size in lines or as a percentage.
2009-01-12 18:22:47 +00:00
Nicholas Marriott
6897510552
Codes no longer needed.
2009-01-11 23:41:29 +00:00
Nicholas Marriott
162bacdcd9
Window splitting. Two vertical panes fixed 50% each. This is a huge diff, still a couple of bugs (notably heap corruption somewhere causing segfault on exit).
2009-01-11 23:31:46 +00:00
Nicholas Marriott
d78bc5dfc4
save-buffer command, from Tiago Cunha.
2009-01-11 23:14:57 +00:00
Nicholas Marriott
e3feb067a5
Server locking. set-password and lock-server commands, plus automatic locking.
2009-01-11 00:48:42 +00:00
Nicholas Marriott
ee0a7cda88
Restore emulation of ich with insert mode.
2009-01-10 22:28:40 +00:00
Nicholas Marriott
4d71164826
Pick up cwd from environment,.
2009-01-10 19:37:35 +00:00
Nicholas Marriott
88ab74ac20
Clock mode.
2009-01-10 19:35:40 +00:00
Nicholas Marriott
8253e68c79
Oops, missed from btab commit.
2009-01-10 18:37:08 +00:00
Nicholas Marriott
312633203d
Support btab.
2009-01-10 18:28:09 +00:00
Nicholas Marriott
fd05d07c2b
Change server-info format.
2009-01-10 14:43:43 +00:00
Nicholas Marriott
a1b43faa43
Trim spaces.
2009-01-10 01:51:22 +00:00
Nicholas Marriott
fb6c8ecae6
New command, server-info, to show server info + terminal details. Also tweak term stuff a bit.
2009-01-10 01:30:38 +00:00
Nicholas Marriott
3ed5aa3e72
Build array of codes, stop using ncurses global variables and push ncurses crap into tty-term.c.
2009-01-09 23:57:42 +00:00
Nicholas Marriott
ed1031b358
Update key handling code. Simplify, support ctrl properly and add a new window option (xterm-keys) to output xterm key codes including ctrl and, if available, alt and shift.
2009-01-09 16:45:58 +00:00
Nicholas Marriott
622d4def22
Give up the farce of caring about any keys aside from the ones in the screen termcap and the ones termcap doesn't handle that we hardcode manually.
2009-01-08 22:28:02 +00:00
Nicholas Marriott
4846ad1657
Introduce nitems() and use it; use bsearch.
2009-01-07 22:52:33 +00:00
Nicholas Marriott
18312fa6fd
Some options tidying/code shrinkage. Also add -u option to unset non-global options (allowing them to inherit), and some extra info.
2009-01-07 19:53:17 +00:00
Nicholas Marriott
4af8db90e8
Complete option names as well.
2009-01-06 17:04:56 +00:00
Nicholas Marriott
9cddd796ff
Prompt history.
2009-01-06 15:37:15 +00:00
Nicholas Marriott
ca1ee21702
Switch to splay tree for key bindings.
2009-01-06 14:10:32 +00:00
Nicholas Marriott
5445918b3e
source-file command from Tiago Cunha.
2008-12-15 21:21:56 +00:00
Nicholas Marriott
75f043fedb
Work around lack of dch.
2008-12-13 17:41:49 +00:00
Nicholas Marriott
5c3d973a4a
Import OpenBSD's getopt(3) to workaround broken glibc version.
2008-12-10 20:25:42 +00:00
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
8bef3adc83
Fix build on sparc.
2008-11-23 19:38:12 +00:00
Nicholas Marriott
cb3f4ed6fe
Bump NSETOPTION.
2008-11-17 18:56:36 +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
4198a9c376
TAILQ -> SLIST.
2008-11-05 01:19:24 +00:00
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