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
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
f39865e8e4
The default terminal size should be 80x24, not 80x25.
2009-09-15 07:45:16 +00:00
8548624676
Nuke unused server_client_index function, pointed out by martynas@.
2009-09-14 11:25:35 +00:00
8a873b97a3
Doh, trim variables unused now.
2009-09-12 13:09:43 +00:00
8cb8a0da8d
Tidy some common code for destroying sessions into a new function.
2009-09-12 13:01:19 +00:00
d771614d33
tmux always outputs \177 for backspace, so explicitly set VERASE to \177 for
...
new windows.
2009-09-12 09:54:34 +00:00
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
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
51c95747d8
Reference count clients and sessions rather than relying on a saved index for
...
cmd-choose-*.
2009-09-07 21:01:50 +00:00
e323f6620d
Tiny cleanup.
...
ok nicm@
2009-09-07 19:08:45 +00:00
ccba613e5b
Give each paste buffer a size member instead of requiring them to be
...
zero-terminated.
2009-09-07 18:50:45 +00:00
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
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
83af55bed4
Tidy main and make it a bit easier to read.
2009-09-04 15:15:24 +00:00
be0d6faa15
Tell the user when sleeping due to password backoff.
2009-09-04 13:29:10 +00:00
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
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
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
7a4bac82d7
Set exittype for error exit as well as the error string.
2009-09-02 20:00:10 +00:00
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
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
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
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
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
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
34bb735a65
Sort cases same as getopt argument, from martynas.
2009-09-01 09:00:54 +00:00
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
8102ec3be5
squash typo
...
ok nicm@
2009-08-31 11:52:32 +00:00
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
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
ddf97f8289
Make this work when the clock is in small characters as well. Doh.
2009-08-26 16:23:30 +00:00
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
f949107a32
Print -l and -p when showing command, pointed out by Tiago Cunha.
2009-08-25 14:53:22 +00:00
be16f79438
These should #include <ctype.h>.
2009-08-25 13:32:14 +00:00
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
4f1d81c4ce
gcc2 doesn't understand attributes on function pointers.
2009-08-24 08:03:11 +00:00
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
a910b38a35
Some code tidying.
2009-08-23 17:37:48 +00:00
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
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
1eb303e6d4
Check the return value of strunvis against -1 not NULL.
2009-08-23 11:40:05 +00:00
926b52b600
Emulate dch/dch1 if missing by redrawing the entire line.
2009-08-21 12:29:59 +00:00
915a1913e1
Move reading termios settings to before tty_open alters them, and expand the
...
comment.
2009-08-21 11:36:08 +00:00
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
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
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
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
234ad54b2c
Nuke unused variable.
2009-08-20 10:48:25 +00:00
bf121f7c60
Handle the device attributes (DA) escape sequence.
2009-08-19 17:00:31 +00:00