Nicholas Marriott
7a4bac82d7
Set exittype for error exit as well as the error string.
2009-09-02 20:00:10 +00:00
Nicholas Marriott
74c35c513e
Accept -l to make it easier for people who use tmux as a login shell to use
...
$SHELL. Originally from martynas@, tweaked by me.
2009-09-02 17:34:57 +00:00
Nicholas Marriott
c5ac2579ba
When incorrect passwords are entered, behave similarly to login(1) and backoff
...
for a bit. Based on a diff from martynas@.
2009-09-02 16:38:35 +00:00
Nicholas Marriott
61b7dc522d
Add a transpose-chars command in edit mode (C-t in emacs mode only). From Kalle
...
Olavi Niemitalo.
2009-09-02 06:33:20 +00:00
Nicholas Marriott
c089e19020
If forking a login shell or if SHELL is otherwise not useful, set it to the
...
default shell. Based on a diff from martynas@.
2009-09-01 14:40:33 +00:00
Nicholas Marriott
7d5e494716
When using tmux as a login shell, there is currently no way to specify a shell
...
to be used as a login shell inside tmux, so add a default-shell session option.
This sets the shell invoked as a login shell when the default-command option is
empty.
The default option value is whichever of $SHELL, getpwuid(getuid())'s pw_shell
or /bin/sh is valid first.
Based on a diff from martynas@, changed by me to be a session option rather
than a window option.
2009-09-01 13:09:49 +00:00
Nicholas Marriott
f8aa5821be
Use "Password:" with no space for password prompts and don't display a *s for
...
the password, like pretty much everything else. From martynas@ with minor
tweaks by me.
2009-09-01 09:11:05 +00:00
Nicholas Marriott
34bb735a65
Sort cases same as getopt argument, from martynas.
2009-09-01 09:00:54 +00:00
Nicholas Marriott
04319964b9
Add a new display-panes command, with two options (display-panes-colour and
...
display-panes-time), which displays a visual indication of the number of each
pane.
2009-08-31 20:46:19 +00:00
Stefan Sperling
8102ec3be5
squash typo
...
ok nicm@
2009-08-31 11:52:32 +00:00
Nicholas Marriott
71ede76c68
Don't call tty_free unless the client is a terminal, otherwise tty_init hasn't
...
been called and it may end up doing close(0). From Kalle Olavi Niemitalo.
2009-08-31 11:37:27 +00:00
Nicholas Marriott
2e5b3ab8bc
Initialise the arg2 pointer properly (also free it when freeing the
...
others). Fixes crashes with J in malloc_options reported by oga.
2009-08-26 18:09:52 +00:00
Nicholas Marriott
ddf97f8289
Make this work when the clock is in small characters as well. Doh.
2009-08-26 16:23:30 +00:00
Nicholas Marriott
1ba5ce9cb3
Fix clock mode in black and white terminals now that tty.c tries to fix
...
reverse.
2009-08-26 16:16:06 +00:00
Nicholas Marriott
f949107a32
Print -l and -p when showing command, pointed out by Tiago Cunha.
2009-08-25 14:53:22 +00:00
Nicholas Marriott
be16f79438
These should #include <ctype.h>.
2009-08-25 13:32:14 +00:00
Nicholas Marriott
7b847ced4a
Add a choose-client command and extend choose-{session,window} to accept a
...
template. After a choice is made, %% (or %1) in the template is replaced by the
name of the session, window or client suitable for -t and the result executed
as a command. So, for example, "choose-window "killw -t '%%'"" will kill the
selected window.
The defaults if no template is given are (as now) select-window for
choose-window, switch-client for choose-session, and detach-client for
choose-client (now bound to D).
2009-08-25 12:18:51 +00:00
Nicholas Marriott
4f1d81c4ce
gcc2 doesn't understand attributes on function pointers.
2009-08-24 08:03:11 +00:00
Nicholas Marriott
90400ae96a
Add some other obvious variables to update-environment (WINDOWID SSH_ASKPASS
...
SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION) so they are updated in the session
environment on new/attach.
2009-08-23 18:21:02 +00:00
Nicholas Marriott
a910b38a35
Some code tidying.
2009-08-23 17:37:48 +00:00
Nicholas Marriott
c7394ac4e0
When using source-file, run the commands in the context of the source-file
...
command rather than with no context. This makes things like attach work from a
file.
2009-08-23 17:29:51 +00:00
Nicholas Marriott
43cd40e87a
The cursession member in struct cmd_ctx is always either curclient->session or
...
NULL when curclient is also NULL, so just eliminate it.
2009-08-23 16:45:00 +00:00
Nicholas Marriott
1eb303e6d4
Check the return value of strunvis against -1 not NULL.
2009-08-23 11:40:05 +00:00
Nicholas Marriott
926b52b600
Emulate dch/dch1 if missing by redrawing the entire line.
2009-08-21 12:29:59 +00:00
Nicholas Marriott
915a1913e1
Move reading termios settings to before tty_open alters them, and expand the
...
comment.
2009-08-21 11:36:08 +00:00
Nicholas Marriott
65ac8e9f0c
Ugh, committed the wrong version of this change and got both solutions rather
...
than just the second. Remove unused assignment.
2009-08-21 08:12:05 +00:00
Nicholas Marriott
f817a338d0
When moving up or down in copy mode, save the cursor position and size of the
...
last line with content (width != 0) and use it to determine if the cursor
should be at the end of the line. Fixes problem of the cursor always jumping to
the end of the line when scrolling past a blank line.
2009-08-21 07:33:58 +00:00
Nicholas Marriott
0198bb6bf3
Fix grid_expand_line so it actually works when the required size is bigger than
...
2 * the current size.
2009-08-21 07:29:37 +00:00
Nicholas Marriott
1501b3fbbd
A few trivial optimisations: no need to check for zero size if calling
...
buffer_ensure in buffer.c; expand grid lines by a greater increase than one
each time; and don't read UTF-8 data unless it actually needs to be checked
when overwriting a cell.
2009-08-20 19:14:42 +00:00
Nicholas Marriott
234ad54b2c
Nuke unused variable.
2009-08-20 10:48:25 +00:00
Nicholas Marriott
bf121f7c60
Handle the device attributes (DA) escape sequence.
2009-08-19 17:00:31 +00:00
Jason McIntyre
c741f2f4a6
tweak previous;
2009-08-19 16:10:26 +00:00
Nicholas Marriott
55336657d4
Don't read beyond the edge of the screen when searching (dies with debug
...
enabled).
2009-08-19 14:46:56 +00:00
Nicholas Marriott
c41aa49059
Use cfsetispeed/cfsetospeed to set termios speed members.
2009-08-19 14:32:15 +00:00
Nicholas Marriott
3f4418d84d
Extend command-prompt with a -p option which is a comma-separated list of one
...
or more prompts to present in order.
The responses to the prompt are replaced in the template string: %% are
replaced in order, so the first prompt replaces the first %%, the second
replaces the second, and so on. In addition, %1 up to %9 are replaced with the
responses to the first the ninth prompts
The default template is "%1" so the response to the first prompt is processed
as a command.
Note that this changes the behaviour for %% so if there is only one prompt,
only the first %% will be replaced. Templates such as "neww -n '%%' 'ssh %%'"
should be changed to "neww -n '%1' 'ssh %1'".
From Tiago Cunha.
2009-08-19 10:39:50 +00:00
Nicholas Marriott
036de0c5e4
Instead of just checking for an empty buffer, which may not be the case if
...
there is unconsumed data, save the previous size and use it instead. This means
that activity monitoring should work in this (unlikely) event.
Also remove a debugging statement that no longer seems necessary.
2009-08-18 21:41:13 +00:00
Nicholas Marriott
c488e5e40d
Whoops, getting the comparison the right way round is usually recommended.
2009-08-18 21:37:04 +00:00
Nicholas Marriott
8b7be5861e
Move another expensive options test to after a cheaper timer check/update.
2009-08-18 21:18:20 +00:00
Nicholas Marriott
fa617467b1
options_get_number() is relatively expensive and a check for dead panes happens
...
a lot more often than actually finding one, so instead of getting the option
for every check, get it for every dead window found.
2009-08-18 21:14:24 +00:00
Nicholas Marriott
145ba777e8
Now that pane targets (-t) are supported, switch some commands to use them
...
where it makes sense: clock-mode, copy-mode, scroll-mode, send-keys,
send-prefix.
2009-08-18 16:21:04 +00:00
Nicholas Marriott
dc6271cd79
Tag a few missed printf-like functions and fix a missing "%s".
2009-08-18 14:48:42 +00:00
Nicholas Marriott
003a2e6479
Pass show-buffer output through vis(3) as well, and wrap it to the edge of the
...
terminal when used from the command line.
2009-08-18 13:08:43 +00:00
Nicholas Marriott
840fff5e5e
Change list-buffers to run the preview of the buffer through vis(1).
2009-08-18 12:26:37 +00:00
Nicholas Marriott
1c58b94141
Use the full screen width when printing output rather than one less.
2009-08-18 11:53:03 +00:00
Nicholas Marriott
406fc209ac
Nuke unnecessary assignment.
2009-08-18 09:51:51 +00:00
Nicholas Marriott
feaf91ab93
Add a "delete line" key when editing in the status line or the search up/down
...
prompt. C-u with emacs keys, d with vi.
2009-08-18 07:23:43 +00:00
Nicholas Marriott
c828c2f366
Add (naive) searching and goto line in copy mode. Searching is C-r and C-s with
...
emacs keys, / and ? with vi; n repeats the search again with either key
set. All searching wraps the top/bottom. Goto line is g for both emacs and vi.
The search prompts don't have full line editing, just simple append and delete
characters.
Also sort the mode keys list in tmux.1.
2009-08-18 07:08:26 +00:00
Nicholas Marriott
e7cd547457
Reset attributes as well as scroll region before poll(2) and add a big comment
...
explaining why.
2009-08-14 11:23:34 +00:00
Nicholas Marriott
5cf994856f
Send SGR0 when initialising the screen. Fixes problems on terminals with BCE
...
(like putty) if the background colours is non-default when tmux starts. May
also fix problems when resuming a suspended tmux.
2009-08-14 08:53:52 +00:00
Nicholas Marriott
09cbd0c695
Switch the prompt code to return an empty string when the user enters no
...
response and reserve NULL for an explicit cancel. Change all callbacks to treat
them the same so no functional change.
Also add cancel key bindings to emacs mode which were missing.
2009-08-13 23:44:18 +00:00