Nicholas Marriott
c7a8db5543
Key options were implemented as a number so these struct members are unused.
2009-09-21 06:55:06 +00:00
Nicholas Marriott
14ebcab5b0
run-shell command to run a shell command without opening a window, sending
...
stdout to output mode.
2009-09-20 19:15:01 +00:00
Nicholas Marriott
105ce36792
Nuke unused variables and fix stupid error message.
2009-09-20 17:31:26 +00:00
Nicholas Marriott
9b5f5ed8e8
Move some common and untidy code for window link/unlink into generic functions
...
instead of duplicating it in move/link window..
2009-09-20 17:27:18 +00:00
Nicholas Marriott
273f1b385c
Regularise some fatal messages.
2009-09-20 14:58:12 +00:00
Nicholas Marriott
63d499f480
New option, set-titles-string, to allow the window title to be specified (as
...
for status-left/right) if set-titles is on. Also only update the title when the
status line is being redrawn.
2009-09-18 15:19:27 +00:00
Nicholas Marriott
5c60162e3c
Rather than constructing an entire termios struct from ttydefaults.h, just let
...
forkpty do it and then alter the bits that should be changed after fork. A
little neater and more portable.
2009-09-16 12:35:04 +00:00
Jacek Masiulaniec
a6dd9e8e7e
Enclose repeated buffer draining code in a new msgbuf_drain()
...
function, which is additionally exported for use by others.
From nicm@, who reminded me that tmux is now using buffer.c, too.
2009-09-15 18:12:51 +00:00
Nicholas Marriott
4278199101
Stick line length to what is actually used (removing an optimization that
...
allowed it to be bigger), and use clear line/EOL sequences rather than spaces
in copy/scroll mode.
This fixes xterm copy/paste from tmux which treats trailing spaces differently
from clearing a line with the escape sequences. Reported by martynas@.
2009-09-15 15:14:09 +00:00
Nicholas Marriott
f39865e8e4
The default terminal size should be 80x24, not 80x25.
2009-09-15 07:45:16 +00:00
Nicholas Marriott
8548624676
Nuke unused server_client_index function, pointed out by martynas@.
2009-09-14 11:25:35 +00:00
Nicholas Marriott
8a873b97a3
Doh, trim variables unused now.
2009-09-12 13:09:43 +00:00
Nicholas Marriott
8cb8a0da8d
Tidy some common code for destroying sessions into a new function.
2009-09-12 13:01:19 +00:00
Nicholas Marriott
d771614d33
tmux always outputs \177 for backspace, so explicitly set VERASE to \177 for
...
new windows.
2009-09-12 09:54:34 +00:00
Nicholas Marriott
372a8cb1d9
Permit options such as status-bg to be configured using the entire 256 colour
...
palette by setting "colour0" to "colour255".
2009-09-10 17:16:24 +00:00
Nicholas Marriott
3f3b01c7ce
While the display-panes indicator is on screen, make the number keys select the
...
pane with that index.
2009-09-07 21:12:12 +00:00
Nicholas Marriott
51c95747d8
Reference count clients and sessions rather than relying on a saved index for
...
cmd-choose-*.
2009-09-07 21:01:50 +00:00
Matthias Kilian
e323f6620d
Tiny cleanup.
...
ok nicm@
2009-09-07 19:08:45 +00:00
Nicholas Marriott
ccba613e5b
Give each paste buffer a size member instead of requiring them to be
...
zero-terminated.
2009-09-07 18:50:45 +00:00
Nicholas Marriott
e97006b102
Permit embedded colour and attributes in status-left and status-right using new
...
#[] special characters, for example #[fg=red,bg=blue,blink].
2009-09-07 10:49:32 +00:00
Nicholas Marriott
ffab22bb35
Only redraw all clients once when the backoff timer expires rather than every
...
second all the time.
Reported by Simon Nicolussi.
2009-09-05 17:42:16 +00:00
Nicholas Marriott
83af55bed4
Tidy main and make it a bit easier to read.
2009-09-04 15:15:24 +00:00
Nicholas Marriott
be0d6faa15
Tell the user when sleeping due to password backoff.
2009-09-04 13:29:10 +00:00
Nicholas Marriott
751a2fa915
Fix a race condition when asking a client to take over the terminal (switching
...
to a different poll loop):
If a MSG_READY was followed very quickly by a MSG_EXIT (for example if doing
"tmux new 'exit'"), both messages could be read as part of the same imsg_read
in the first client poll loop. The MSG_READY would then cause a switch to the
second client loop, which would immediately call poll(2) again, causing the
client to hang forever waiting for an exit message that it already had.
Change to call imsg_get to process any existing messages before polling.
2009-09-02 23:49:25 +00:00
Nicholas Marriott
81a457e6fb
When shutting down the server, expect clients to be polite and exit when asked
...
with the right message.
2009-09-02 21:25:57 +00:00
Nicholas Marriott
459abafcea
That was the wrong fix. MSG_ERROR should set the error and the client should
...
use the error and exit on MSG_EXIT (it was being handled in the default
case). Undo the last change, move the errstr check into the MSG_EXIT case, and
add a comment.
2009-09-02 20:15:49 +00:00
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