Nicholas Marriott
56f80a5b09
break-pane command to split a pane off into a new window; bound to ! by default.
2009-03-07 09:29:54 +00:00
Nicholas Marriott
65b9aeb337
Put socket path in $TMUX.
2009-03-04 17:24:07 +00:00
Nicholas Marriott
171256057e
Extra function keys from Dashing dashing at hushmail dot com
2009-03-02 18:05:40 +00:00
Nicholas Marriott
57f5f44d0f
Sort out escape key handling so it works.
2009-03-02 16:55:23 +00:00
Nicholas Marriott
afd67ce89f
Allow selection in vi mode.
2009-02-21 17:46:13 +00:00
Nicholas Marriott
95c8c049f5
Redo mode keys slightly more cleanly and apply them to command prompt editing. vi or emacs mode is controlled by the session option status-keys.
2009-02-13 21:39:45 +00:00
Nicholas Marriott
0450b4a5d4
Move status prompt/message init and teardown into status.c.
2009-02-13 18:57:55 +00:00
Nicholas Marriott
cce03e138b
Looking up argv[0] is expensive, so just use p_comm for the window name which is good enough. Also increase name update time to 500 ms.
2009-02-13 00:43:04 +00:00
Nicholas Marriott
959eeef505
FreeBSD's console wraps lines at $COLUMNS - 1 rather than $COLUMNS (the cursor can never be beyond $COLUMNS - 1) and does not appear to support changing this behaviour, or any of the obvious possibilities (turning off right margin wrapping, insert mode). This is irritating, most notably because it impossible to write to the very bottom-right of the screen without scrolling. To work around this, if built on FreeBSD and run with a "cons" $TERM, the bottom-right cell on the screen is omitted.
2009-02-11 23:16:45 +00:00
Nicholas Marriott
6c76aaca92
Lose unnecessary cursor restores, fix a couple of placement bugs and remove unused CR.
2009-02-11 18:44:08 +00:00
Nicholas Marriott
03d531ebc6
Move sx,sy into tty rather than client.
2009-02-11 17:50:36 +00:00
Nicholas Marriott
514fe11727
We are going to need the updated screen data for emulating the scroll region,
...
which may involve changing the cursor position; however, the old (before
redraw) cursor position is necessary for writing to the tty. So, save it before
doing the redraw then update the internal screen then update the tty.
Not sure I like this solution but it does the job for now.
2009-02-11 17:04:39 +00:00
Nicholas Marriott
91c9d95279
Change tty_cmd_* to use a window_pane.
2009-02-11 07:02:34 +00:00
Nicholas Marriott
e444b0b92a
Split most of tty_cmd_cell off to tty_cell. First step on making tty_cmd_* take
...
a window_pane for later use emulating scroll region.
2009-02-11 06:50:16 +00:00
Nicholas Marriott
c6be7d3ee6
Simplify screen/tty write code to eliminate function pointer which is now
...
unnecessary (it always does the same thing).
2009-02-11 06:31:09 +00:00
Nicholas Marriott
b37399304f
Don't redraw status line unless it has actually changed. Stops extraneous
...
updates between clock/#() changes and doesn't require manual status-interval 0
when no updates are occuring.
2009-02-10 00:18:06 +00:00
Nicholas Marriott
c9cfc9a9f3
Don't try to change the window name unless the pid of the process chosen has
...
changed. Reduces CPU use.
osdep-* stuff is a bit horrible now but there we go :-/.
2009-02-09 18:08:01 +00:00
Nicholas Marriott
9d90d9ad70
Increase name refresh interval to 250 ms to reduce CPU use.
2009-02-09 16:11:26 +00:00
Nicholas Marriott
62d2ab3e68
Continue process if suspended.
2009-02-08 16:11:26 +00:00
Tiago Cunha
4213ff8faa
copy-buffer command.
2009-02-03 17:21:19 +00:00
Nicholas Marriott
882316ad6a
Set colour of window entry in status line based on window options.
2009-01-30 00:24:49 +00:00
Nicholas Marriott
2bf9f4973b
Undo this and just shut lint up.
2009-01-29 19:26:53 +00:00
Nicholas Marriott
6ad0d2ab4a
Nuke debugging.
2009-01-29 19:24:34 +00:00
Nicholas Marriott
4428987e95
* Better support for at least the most common variant of mouse input: parse it and adjust for different panes. Also support mouse in window/session choice mode.
...
* Bring back the fancy window titles with session/window names: it is easy to work around problems with elinks (see FAQ).
2009-01-28 19:52:21 +00:00
Nicholas Marriott
2af52440ba
-u to start with screen scrolled up.
2009-01-27 23:35:44 +00:00
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