Nicholas Marriott
143aa718e5
Space trimmage mega-diff.
2009-05-04 17:58:27 +00:00
Nicholas Marriott
fb543c7707
Use ACS for line drawing characters.
2009-05-04 13:20:02 +00:00
Nicholas Marriott
827fac4c0b
Support "neww; neww" as well "neww ; neww".
2009-04-30 21:53:32 +00:00
Nicholas Marriott
044e6f7660
previous-layout command.
2009-04-30 21:17:06 +00:00
Nicholas Marriott
a6f2d82335
Use a (pre)randomised binary tree for UTF-8 character widths. Probably overkill
...
but meh.
2009-04-30 20:54:53 +00:00
Nicholas Marriott
cdf472f2de
Merge resize-pane-{up,down} into resize-pane.
2009-04-30 06:01:24 +00:00
Nicholas Marriott
cc9cc1aea8
Some tweaks for Solaris.
...
Get rid of vis.* in favour of a small replacement function.
2009-04-29 22:25:20 +00:00
Tiago Cunha
c80ad456cc
Avoid using the prompt history when the server is locked, and prevent any
...
input entered from being added to the client's prompt history. From nicm.
2009-04-27 13:56:51 +00:00
Tiago Cunha
058772e4e6
- confirm-before command.
...
- Bound "&" and "x" by default to confirm-before "kill-window" and
confirm-before "kill-pane", respectively.
2009-04-27 13:21:16 +00:00
Nicholas Marriott
7d6896ae79
Support NEL.
2009-04-23 21:28:45 +00:00
Nicholas Marriott
5fbdca890a
Use the xenl terminfo flag to detect early-wrap terminals like the FreeBSD
...
console. Many thanks for a very informative email from Christian Weisgerber.
2009-04-23 21:09:17 +00:00
Nicholas Marriott
a91ecf44fa
Note it.
2009-04-23 17:51:57 +00:00
Nicholas Marriott
750b8106f7
Remove the right number of characters from the buffer when escape then a cursor
...
key (or other key prefixed by \033) is pressed. Reported by Stuart Henderson.
2009-04-17 12:36:21 +00:00
Nicholas Marriott
325d43e417
rotate-window command.
2009-04-03 17:21:46 +00:00
Nicholas Marriott
dbf52facd2
Change scroll/pane redraws to only redraw the single pane affected rather than
...
the entire window.
2009-04-02 21:08:15 +00:00
Nicholas Marriott
84cde92c8f
If redrawing the region would mean redrawing > half the pane, just schedule to
...
redraw the entire window. Also add a flag to skip updating the window any
further if it is scheduled to be redrawn. This has the effect of batching
multiple redraws together.
2009-04-02 20:30:23 +00:00
Nicholas Marriott
a45e33114a
Tweak to CHANGES.
2009-04-01 18:22:31 +00:00
Nicholas Marriott
b6450b167b
Basic horizontal splitting and layout management. Still some redraw and other
...
issues - particularly, don't mix with manual pane resizing and be careful when
viewing from multiple clients; generally cycling the layout a few times will
fix most problems. Getting this in for testing while I think about how to deal
with manual mode.
Split window as normal and cycle the layouts with C-b space. Some of the
layouts will work better when swap-pane comes along.
2009-04-01 18:21:42 +00:00
Nicholas Marriott
c4ac39f67a
+UTF-8 fixed to CHANGES.
2009-03-31 23:14:22 +00:00
Nicholas Marriott
92594c8029
Update CHANGES.
2009-03-31 21:30:03 +00:00
Nicholas Marriott
6c27f1c335
Draw vertical line on the right when window size is limited.
2009-03-31 18:39:45 +00:00
Nicholas Marriott
cf7b384c43
Better UTF-8 support, including combined characters. Unicode data is now stored
...
as UTF-8 in a separate array, the code does a lookup into this every time it
gets to a UTF-8 cell. Zero width characters are just appended onto the UTF-8
data for the previous cell. This also means that almost no bytes extra are
wasted non-Unicode data (yay).
Still some oddities, such as copy mode skips over wide characters in a strange
way, and the code could do with some tidying.
2009-03-28 20:17:29 +00:00
Nicholas Marriott
cb2ac5c269
Key repeating is now a property of the key binding not of the command. Repeat
...
is turned on when the key is bound with the -r flag to bind-key. next/previous-
window no longer repeat by default as it turned out to annoy me.
2009-03-28 14:08:09 +00:00
Nicholas Marriott
587badecdb
Clear using ED when redrawing the screen. I foolishly assumed using spaces
...
would be equivalent and terminals would pick up on this, but apparently
not. This fixes copy and paste in xterm/rxvt.
2009-03-28 10:15:01 +00:00
Nicholas Marriott
be0c79f3ad
Sockets in /tmp are now created in a subdirectory named, tmux-UID, eg
...
tmux-1000. The default socket is thus /tmp/tmux-UID/default. To start a
separate server, the new -L command line option should be used: this creates a
socket in the same directory with a different name ("-L main" will create
socket called "main"). -S should only be used to place the socket outside
/tmp. This makes sockets a little more secure and a bit more convenient to use
multiple servers.
2009-03-27 15:57:10 +00:00
Nicholas Marriott
f5f04a9344
* New session flag "set-remain-on-exit" to set remain-on-exit flag for new windows created in that session (like "remain-by-default" used to do). Not perfectly happy about this, but until I can think of a good way to introduce it generically (maybe a set of options in the session) this will do. Fixes SF request 2527847.
2009-03-21 12:44:06 +00:00
Nicholas Marriott
e6d35b6aa4
Support for 88 colour terminals.
2009-03-07 10:29:06 +00:00
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
57f5f44d0f
Sort out escape key handling so it works.
2009-03-02 16:55:23 +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
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
5a04f74d81
Only use RI at the top of the screen.
2009-02-12 00:03:58 +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
d5eaf3a9f6
Emulate CSR with existing screen data on old/stupid terminals which don't support it.
2009-02-11 19:06:58 +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
dd1ebf1b9d
Handle "" properly.
2009-02-08 16:38:19 +00:00
Nicholas Marriott
85fd2147af
Move to 0.8.
2009-02-08 14:11:37 +00:00
Tiago Cunha
4213ff8faa
copy-buffer command.
2009-02-03 17:21:19 +00:00
Tiago Cunha
804beb9266
Support commands with right parenthesis. From nicm and me.
2009-02-01 18:14:49 +00:00
Nicholas Marriott
0127137bbe
move-window bound to ., from joshe.
2009-01-30 21:10:10 +00:00
Nicholas Marriott
e16ed21e5d
Format.
2009-01-30 00:39:06 +00:00
Nicholas Marriott
6fb9d4dfee
Tweak example.
2009-01-30 00:27:00 +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
Tiago Cunha
2bb499c8af
Support #(command) in status-left, and status-right.
2009-01-29 23:35:14 +00:00
Nicholas Marriott
2057e666a2
Mouse in copy mode.
2009-01-28 22:00:22 +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
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
Nicholas Marriott
4d7e555a48
Don't screw up UTF-8 combined characters.
2009-01-26 20:57:45 +00:00
Tiago Cunha
f62ed6aaa3
load-buffer command
2009-01-25 19:00:10 +00:00
Nicholas Marriott
32903241a2
+CHANGES.
2009-01-23 20:53:18 +00:00
Nicholas Marriott
4d9af27b0b
Better error messages for fork.
2009-01-23 16:59:14 +00:00
Nicholas Marriott
3f171917f6
Return 1 on error. Doh.
2009-01-23 16:19:56 +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
9acc26711d
new-window -k.
2009-01-21 22:21:49 +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
7118baa340
Allow a selection in vi keys mode...
2009-01-21 18:19:32 +00:00
Nicholas Marriott
8c259f562b
Darwin support for automatic-rename, from joshe.
2009-01-20 22:17:53 +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
2afa8ebc02
Fix various silly problems with status line off.
2009-01-19 20:14:55 +00:00
Nicholas Marriott
94471aab82
Use reverse rather than background which doesn't show up when terminal doesn't
...
support colours.
2009-01-19 19:01:11 +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
efb62d423b
Show (attached) for attached sessions.
2009-01-18 12:13:21 +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
c623d42df4
Update.
2009-01-17 19:08:12 +00:00
Nicholas Marriott
5aa3098bb6
Support #S #H in status-left/right.
2009-01-15 23:42:21 +00:00
Nicholas Marriott
601667f35a
Be a bit more helpful.
2009-01-15 19:30:21 +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
f57891d006
Spell check.
2009-01-14 23:00:18 +00:00
Nicholas Marriott
3ad1fec9a9
Repeat for last-window is useless and annoying, take it off.
2009-01-14 22:40:17 +00:00
Nicholas Marriott
d4296cb558
Make last-window repeatable too; update my configuration backup, er, example.
2009-01-14 22:36:07 +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
0a99ba0b30
Alt-up/down to resize by five lines.
2009-01-14 21:08:52 +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
bc56751692
Disable lock-after-time by default.
2009-01-14 18:41:55 +00:00
Nicholas Marriott
f85559144f
kill-pane command.
2009-01-13 06:50:10 +00:00
Nicholas Marriott
98c85cf989
command-prompt now accepts a single argument, a template string. Any occurrences of %% in this string are replaced by whatever is entered at the prompt and the result is executed as a command. This allows things like (now bound by default):
...
bind , command-prompt "rename-window %%"
Or my favourite:
bind x command-prompt "split-window 'man %%'"
2009-01-13 01:08:40 +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
dbbc314cc9
Handle ctrl/shift modifiers better.
2009-01-12 21:47:03 +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
440a84b2aa
Use -O0 to prevent copy issues.
2009-01-12 00:52:37 +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
ccf5784bcf
Add a couple of bits.
2009-01-11 01:01:05 +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
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
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
a9f0418255
Update CHANGES.
2009-01-08 21:59:24 +00:00
Nicholas Marriott
a3e3051742
Whoops. New stuff goes at the top. Doh!
2009-01-07 20:15:20 +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
4817468e92
+TODO +CHANGES.
2009-01-06 18:24:37 +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
b457479904
Make home and end work.
2008-12-22 17:26:51 +00:00
Nicholas Marriott
db39fd8503
Add vim mode.
2008-12-20 09:09:57 +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
a1a8e0ce7a
Tidy formatting.
2008-12-10 20:26:41 +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
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