Nicholas Marriott
5ef5bd7c31
Add a "back to indentation" key in copy mode to move the cursor to the first
...
non-whitespace character. ^ with vi and M-m with emacs key bindings. Another
from Kalle Olavi Niemitalo, thanks.
2009-07-14 06:39:25 +00:00
Nicholas Marriott
7f98193beb
Merge three copies of identical code to move the cursor x position into a
...
single function, from Kalle Olavi Niemitalo.
2009-07-14 06:38:32 +00:00
Nicholas Marriott
d2c3dbc665
If it exist, load a system-wide configuration file /etc/tmux.conf before any
...
user-specified one.
2009-07-14 06:38:14 +00:00
Nicholas Marriott
ceace9c6bd
Since tmux doesn't actually need ncurses, use -lcurses/curses.h
...
instead. Pointed out by millert a while ago.
2009-07-14 06:30:45 +00:00
Nicholas Marriott
5f108d9df6
Having fixed flags for single-character getopt options is a bit hard to
...
maintain and is only going to get worse as more are used. So instead, add a new
uint64_t member to cmd_entry which is a bitmask of upper and lowercase options
accepted by the command.
This means new single character options can be used without the need to add it
explicitly to the list.
2009-07-13 23:11:35 +00:00
Jason McIntyre
5d91555c7c
zap trailing whitespace;
2009-07-13 20:14:23 +00:00
Nicholas Marriott
cba885a67c
Expand leading tildes in arguments, from Tiage Cunha.
2009-07-13 18:49:36 +00:00
Nicholas Marriott
cf411053c7
copy-mode and scroll-mode have a -u flag missing from usage, add it.
2009-07-13 18:44:17 +00:00
Tiago Cunha
2f75b07d08
Update.
2009-07-13 18:29:28 +00:00
Tiago Cunha
280619a4e8
Expand leading tilde on commands which expect a filename.
2009-07-13 18:03:18 +00:00
Nicholas Marriott
023d8d38ec
Tidy up and improve target (-t) argument parsing:
...
- move the code back into cmd.c and merge with the existing functions where
possible;
- accept "-tttyp0" as well as "-t/dev/ttyp0" for clients;
- when looking up session names, try an exact match first, and if that fails
look for it as an fnmatch pattern and then as the start of a name - if more
that one session matches an error is given; so if there is one session called
"mysession", -tmysession, -tmysess, -tmysess* are equivalent but if there
is also "mysession2", the last two are errors;
- similarly for windows, if the argument is not a valid index or exact window
name match, try it against the window names as an fnmatch pattern and a
prefix.
2009-07-13 17:47:46 +00:00
Nicholas Marriott
6db6df882c
Update.
2009-07-13 11:33:06 +00:00
Nicholas Marriott
359285928b
Support "alternate screen" mode (terminfo smcup/rmcup) typically used by full
...
screen interactive programs to preserve the screen contents. When activated, it
saves a copy of the visible grid and disables scrolling into and resizing out
of the history; when deactivated the visible data is restored and the history
reenabled.
2009-07-13 10:43:52 +00:00
Nicholas Marriott
db411ca515
Update TODO.
2009-07-13 06:29:19 +00:00
Nicholas Marriott
0b788a3d61
Missed this declaration in key bindings change. Whoops.
2009-07-12 23:46:49 +00:00
Nicholas Marriott
88555d96d5
Document the -k flag to new-window.
2009-07-12 23:45:03 +00:00
Nicholas Marriott
9e49ec6cd3
Creating a key binding which replaces itself (such as "bind x bind x lsw")
...
frees the command list bound to the key while it is still being executed,
leading to a use after free. To prevent this, create a dead keys list and defer
freeing replaced or removed key bindings until the main loop when the key
binding will have finished executing.
Found by Johan Friis when creating a key binding to reload his configuration
file.
2009-07-12 17:33:18 +00:00
Nicholas Marriott
3fb3613d34
Limit the history to hlimit not hlimit - 1. This makes a history-limit setting
...
of 0 work as expected.
2009-07-12 17:12:41 +00:00
Nicholas Marriott
30f47dfc5e
Add -r to the synopsis of the paste-buffer command, prompted by jmc.
2009-07-12 17:12:06 +00:00
Nicholas Marriott
27fc963631
When pasting, translate \n into \r. This matches xterm and putty's behaviour,
...
and makes emacs happy when pasting into some modes. A new -r (raw) flag to
paste-buffer pastes without the translation.
From Kalle Olavi Niemitalo, thanks!
2009-07-12 17:11:39 +00:00
Nicholas Marriott
d8de72ca77
Copy was using the real line length which after resize can be larger than the
...
screen width. When built with -DDEBUG, this made the grid bounds checking code
kill the server. Restrict copying to the actual width.
From Kalle Olavi Niemitalo, thanks.
2009-07-12 17:11:07 +00:00
Nicholas Marriott
ef5f356da2
paste-buffer -d was not documented. From Kalle Olavi Niemitalo.
2009-07-12 17:10:35 +00:00
Nicholas Marriott
1919deab1f
Redraw the status line after renaming a session (it may contain the name).
2009-07-12 17:09:15 +00:00
Nicholas Marriott
fd0971542f
Don't send initialisation strings is1/2/3 (barely anything else does) and move
...
smcup to the first and rmcup to the last sequences output to the terminal. This
allows tmux to use the alternate screen (smcup/rmcup) when available.
2009-07-12 17:08:37 +00:00
Nicholas Marriott
d7b4aa0ff3
Add a default-terminal option to set the starting value of $TERM in new
...
windows.
2009-07-12 17:07:58 +00:00
Nicholas Marriott
79bc6041c9
Document display-time option which seems to have been missed.
2009-07-12 17:04:21 +00:00
Nicholas Marriott
8be8016a76
When the terminal size is reduced horizontally, don't truncate lines to the new
...
width, so that if the same lines are later increased in size the content
reappears.
2009-07-12 17:03:11 +00:00
Nicholas Marriott
d4a143a425
Stop in the right place so all the lines selected are copied. Reported by Kalle
...
Olavi Niemitalo, thanks.
2009-07-12 16:56:56 +00:00
Nicholas Marriott
22d51ec1ea
Add a "back to indentation" key in copy mode to move the cursor to the first
...
non-whitespace character. ^ with vi and M-m with emacs key bindings. Another
from Kalle Olavi Niemitalo, thanks.
2009-07-12 16:15:34 +00:00
Nicholas Marriott
fa8333eddb
Merge three copies of identical code to move the cursor x position into a
...
single function, from Kalle Olavi Niemitalo.
2009-07-12 16:12:34 +00:00
Nicholas Marriott
22355ce947
If it exist, load a system-wide configuration file /etc/tmux.conf before any
...
user-specified one.
2009-07-12 16:07:56 +00:00
Nicholas Marriott
bd098c273b
Limit the history to hlimit not hlimit - 1. This makes a history-limit setting
...
of 0 work as expected.
2009-07-11 20:11:18 +00:00
Nicholas Marriott
e415ead361
Add -r to the synopsis of the paste-buffer command, prompted by jmc.
2009-07-11 20:04:19 +00:00
Nicholas Marriott
bf0f56d04e
Update TODO.
2009-07-11 19:25:53 +00:00
Nicholas Marriott
2f7198246e
When pasting, translate \n into \r. This matches xterm and putty's behaviour,
...
and makes emacs happy when pasting into some modes. A new -r (raw) flag to
paste-buffer pastes without the translation.
From Kalle Olavi Niemitalo, thanks!
2009-07-11 19:14:56 +00:00
Nicholas Marriott
289320a9b1
Copy was using the real line length which after resize can be larger than the
...
screen width. When built with -DDEBUG, this made the grid bounds checking code
kill the server. Restrict copying to the actual width.
From Kalle Olavi Niemitalo, thanks.
2009-07-11 19:09:24 +00:00
Nicholas Marriott
0e7c6bdcc7
Update TODO.
2009-07-11 13:48:05 +00:00
Nicholas Marriott
4cbbbddf22
paste-buffer -d was not documented. From Kalle Olavi Niemitalo.
2009-07-10 19:01:40 +00:00
Nicholas Marriott
9cd5ba40d3
Redraw the status line after renaming a session (it may contain the name).
2009-07-10 17:34:51 +00:00
Nicholas Marriott
4a6d62e401
Don't send initialisation strings is1/2/3 (barely anything else does) and move
...
smcup to the first and rmcup to the last sequences output to the terminal. This
allows tmux to use the alternate screen (smcup/rmcup) when available.
2009-07-10 07:11:59 +00:00
Nicholas Marriott
daa1faa905
Add a default-terminal option to set the starting value of $TERM in new
...
windows.
This is "screen" by default and must be either that or something closely
related. This does makes it easier to customise it if necessary.
2009-07-10 05:50:54 +00:00
Nicholas Marriott
25d5734496
Document display-time option which seems to have been missed.
2009-07-10 05:43:01 +00:00
Nicholas Marriott
58361eb965
When the terminal size is reduced horizontally, don't truncate lines to the new
...
width, so that if the same lines are later increased in size the content
reappears.
2009-07-09 22:48:20 +00:00
Nicholas Marriott
7e8ff69a14
Fix $Id$.
2009-07-09 18:16:36 +00:00
Nicholas Marriott
eee3dd297e
New command, if-shell (alias if). Executes the tmux command in the second
...
argument if the shell command in the first succeeds, for example:
if "[ -e ~/.tmux.conf.alt ]" "source .tmux.conf.alt"
Written by Tiago Cunha, many thanks.
2009-07-09 18:14:18 +00:00
Nicholas Marriott
5afe17d147
Fix $Id$.
2009-07-09 18:08:29 +00:00
Nicholas Marriott
664a0bd559
Cursor up and down should be limited by the scroll region (cuu should stop at
...
the scroll region top if starting from below it and cud stop at the bottom if
starting from above). Fixes another vttest test.
2009-07-09 18:08:13 +00:00
Nicholas Marriott
4422b958c3
Don't leak FILE * on malloc failure. From ivoire at users dot sourceforge dot
...
net.
2009-07-09 18:05:17 +00:00
Nicholas Marriott
295879cced
Change inserting and deleting lines inside the scroll region to properly clear
...
lines that should be inserted/deleted but not moved. Fixes problems with mutt
reported by Brian Lewis, thanks.
2009-07-09 18:04:53 +00:00
Nicholas Marriott
e073441c36
Tidy by removing unused argument from grid_view_{insert,delete}_line_region
...
functions (currently don't fully work, this is to make fix easier).
2009-07-09 18:04:17 +00:00