Nicholas Marriott
8fa1858a2c
New lock-client and lock-session commands to lock an individual client or all
...
clients attached to a session respectively.
2009-09-24 14:17:09 +00:00
Nicholas Marriott
1764ef81ef
Don't allow locked or suspended clients to limit the size of active clients.
2009-09-24 07:02:56 +00:00
Nicholas Marriott
fecf8dc44e
Remove PROMPT_HIDDEN code which is now unused.
2009-09-23 14:42:48 +00:00
Nicholas Marriott
9200a0be7a
Support -c like sh(1) to execute a command, useful when tmux is a login
...
shell. Suggested by halex@.
This includes another protocol version increase (the last for now) so again
restart the tmux server before upgrading.
2009-09-23 12:03:30 +00:00
Nicholas Marriott
18ea820cb0
On SIGTERM, just abandon any suspended/locked clients and leave them to it,
...
otherwise the server will hang around (refusing new connections) until they
exit properly.
2009-09-23 08:21:57 +00:00
Nicholas Marriott
631a618238
Don't die if the client is detaching (the tty has been closed) after waking up
...
from locking.
2009-09-23 07:25:31 +00:00
Nicholas Marriott
b01dcd7971
Remove the internal tmux locking and instead detach each client and run the
...
command specified by a new option "lock-command" (by default "lock -np") in
each client.
This means each terminal has to be unlocked individually but simplifies the
code and allows the system password to be used to unlock.
Note that the set-password command is gone, so it will need to be removed from
configuration files, and the -U command line flag has been removed.
This is the third protocol version change so again it is best to stop the tmux
server before upgrading.
2009-09-23 06:18:47 +00:00
Nicholas Marriott
962fa20b36
Trim some code by moving the ioctl(TIOCGWINSZ) after SIGWINCH from the client
...
into the server.
This is another (the second of four) protocol version changes coming this
morning, so again the server should be killed before upgrading.
2009-09-23 06:12:58 +00:00
Nicholas Marriott
64caf59e84
Don't attempt to open() the tty path, rely on the client sending its stdin fd
...
with imsg and fatal if it doesn't, then set the FD_CLOEXEC flag in tty_init
instead of tty_open to prevent them leaking into child processes if any are
created between the two calls.
This bumps the protocol version, so the tmux server should be killed before
upgrading.
2009-09-23 06:05:02 +00:00
Nicholas Marriott
0a9005678d
Be more careful about what flags are cleared when opening the terminal,
...
otherwise the opened/started flags are cleared and the terminal never released.
2009-09-22 19:11:52 +00:00
Nicholas Marriott
96dd3e8eb9
Permit multiple prefix keys to be defined, separated by commas, for example:
...
set -g prefix ^a,^b
Any key in the list acts as the prefix. The send-prefix command always sends
the first key in the list.
2009-09-22 12:38:10 +00:00
Nicholas Marriott
6fab9a3e6f
Use KEYC_NONE constant instead of 0 on init.
2009-09-21 15:32:06 +00:00
Nicholas Marriott
a448524424
Nuke -i option which isn't used anymore.
2009-09-21 15:25:36 +00:00
Nicholas Marriott
6b37b2d79d
Use option print function for info messages as well.
2009-09-21 14:56:03 +00:00
Nicholas Marriott
e3c3d746f7
Move common code from show-options and show-window-options into a function.
2009-09-21 14:46:47 +00:00
Jason McIntyre
b769aa59d3
zap trailing whitespace;
2009-09-21 07:45:10 +00:00
Nicholas Marriott
fc9107a16a
Drop tiny union from option struct.
2009-09-21 07:00:09 +00:00
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