Commit Graph

1339 Commits

Author SHA1 Message Date
10f58cb1bc Ignore the colour on space, /not/ the attributes. 2009-11-04 15:59:27 +00:00
a94535f318 Fix the reverse emulation when a terminal doesn't have setab to use the correct
fg/bg (adjusted if spaces) and happen before attribute setting.
2009-11-04 13:34:26 +00:00
d2dfbef05a Change declaration and use of malloc_options to be more standard, from Tim van
der Molen.
2009-11-04 12:41:43 +00:00
d8332e6373 Don't backoff based on suspended or deda clients as they are always likely to
have data backed up.
2009-11-04 08:35:11 +00:00
0785f2872f Add an activity time for clients, like for sessions, and change session and
client lookup to pick the most recently used rather than the most recently
created - this is much more useful when used interactively and (because the
activity time is set at creation) should have no effect on source-file.

Based on a problem reported by Jan Johansson.
2009-11-03 22:40:40 +00:00
5761ab6b55 If it isn't available explicitly, work out the current client in a similar way
to the current session - build a list of the possibilities then pick the
newest.
2009-11-03 20:59:22 +00:00
5289da29ba Change session and client activity and creation time members to have more
meaningful names.

Also, remove the code to try and update the session activity time for the
command client when a command message is received as is pointless because it
des not have a session.
2009-11-03 20:29:47 +00:00
c95f1d1ff9 tv member of struct paste_buffer is updated but not otherwise used, so remove
it.
2009-11-03 17:17:24 +00:00
01943062b4 Fix vi page up mode key (from naddy), add missing half page keys, and sort. 2009-11-03 06:55:49 +00:00
86182f33c3 Double the escape timer (the time after a \033 is received before tmux gives up
waiting to see if it is part of a key sequence and passes it through) to 500
ms, the previous setting was too fast. Suggested by naddy.
2009-11-02 20:18:22 +00:00
1c853c6860 When matching the session names with -t, look for exact matches first before
trying partial matches.

Avoids problems where two ambiguous matches are present before an exact match
(eg foo1, foo2, foo would give an error on trying -tfoo), reported by Natacha
Port? natbsd at instinctive dot eu.
2009-11-02 16:24:29 +00:00
2a585dc4ed Leftover unused variable :-/. 2009-11-02 13:42:25 +00:00
42fd44f1db There isn't much point in doing lstat before connect so instead just do connect
and handle ENOENT from it which is a little tidier.
2009-11-02 13:41:25 +00:00
992dd86309 Reorder slightly to tidy code. 2009-11-02 12:48:44 +00:00
2f813ef75d Add a flag for jobs that shouldn't be freed after they've died and use it for
status jobs, then only kill those jobs when status-left, status-right or
set-titles-string is changed.

Fixes problems with changing options from inside #().
2009-11-01 23:20:37 +00:00
32299e4010 Missing setenv/showenv aliases. 2009-11-01 19:17:08 +00:00
e8b25188ad Missing ;. From eric@ ages ago. 2009-10-29 08:59:17 +00:00
dc3fdc8dc7 If any client currently displaying a window pane has more than 1 KB of output
buffered, don't accept any further data from the process running in the pane.

This makes tmux much more responsive when flooded with output, although other
buffers can still have an impact when running remotely.

Prompted by a query from Ranganathan Sankaralingam.
2009-10-28 22:53:14 +00:00
1eaefbf169 Add a minor optimisatin: if the character being printed is space, don't worry
about setting the background colour or attributes (except reverse).
2009-10-28 08:52:36 +00:00
5730cbf3e3 Twaek this slightly to avoid confusing use of flags variable. 2009-10-28 08:33:20 +00:00
eb5f4460d1 Setting SGR0 when setting the fg and bg has problems if only one of the two is
meant to be default, so rewrite the code to move this outside, move setting
colours before attributes and generally clean up.

Tested by sthen@, fixes problems he was seeing with mutt and should fix some
existing problems with (rarely) lost attributes.
2009-10-28 08:27:33 +00:00
37ffdff5ba Move the poll registration functions into the server-*.c files. 2009-10-27 13:03:33 +00:00
ed62d1263c tabs are better; ok nicm 2009-10-26 21:42:04 +00:00
a8b1379ccb Clear signal flags /before/ taking action and continue afterwards to reduce
chance of dropping signals. Pointed out by deraadt@.
2009-10-26 21:38:18 +00:00
6b804f3a4a Call fstat() after fopen() rather than stat() before. 2009-10-26 21:25:57 +00:00
539c73bdb1 Reset the umask right after fopen to avoid leaving it changed on error, noticed
by deraadt@.
2009-10-26 21:13:06 +00:00
6dc6333323 Use strlcpy instead of strncpy, pointed out by deraadt. 2009-10-26 21:10:24 +00:00
353f2a2ad4 Don't do anything in the client callback if the client has already died to
avoid a use-after-free (the callback is used twice, once for the client itself
and once for the tty). Fixes crashes seen by Han Boetes.
2009-10-26 20:47:00 +00:00
53957dcbaa Nuke accidentally-committed debugging statement. 2009-10-26 18:16:32 +00:00
e831649b64 Not all terminals swap CSI and SS3 on ctrl, so remove that.
Also mark the rxvt special-cases as such until terminfo is updated to have
kLFT5, kRIT5 etc.
2009-10-26 17:59:46 +00:00
fd2ef18a70 Rewrite xterm-keys code (both input and output) so that works (doesn't always
output the same modifiers, accepts all the possible input keys) and is more
understandable.
2009-10-26 17:46:33 +00:00
c92c2bfb10 Support the (mostly new) function key+modifier caps (kIC-kIC7). Most of these
will be caught (soon) by the xterm keys code in xterm itself but some other
descriptions such as rxvt define them as well.
2009-10-26 16:00:51 +00:00
bbca6fe5b0 On second thoughts, drop the rxvt output entirely. 2009-10-26 14:30:57 +00:00
5cce40d4c3 Set the output code for ctrl+cursor keys correctly, and disable (comment)
rxvt-style output.
2009-10-26 14:27:13 +00:00
d0aa883e07 As we always put the cursor keys into application mode, assume keys sent
with CSI have ctrl.

Also add a couple of comments.
2009-10-26 13:58:02 +00:00
fcd3b260ac Tidy up table. 2009-10-26 13:41:46 +00:00
a0ec4a11ee Drop INPUTKEY_CTRL and just handle it as part of the table. 2009-10-26 13:34:26 +00:00
25d2000625 Add or fix some comments. 2009-10-26 13:29:24 +00:00
b3604dcf83 Tidy up table. 2009-10-26 13:22:30 +00:00
db4452d307 Rename keypad keys to something more useful. 2009-10-26 13:13:33 +00:00
10a656eedb Remove the xterm-keys code which is broken (a replacement is coming but some
more cleanup is needed first).
2009-10-26 13:02:53 +00:00
3c9619bb0a Don't try to continue processing a client if the session has been destroyed. 2009-10-25 22:00:15 +00:00
48b6d18e7f Remove -d from tmux.1 as well. 2009-10-25 21:12:15 +00:00
3a7636ff0f Remove the -d flag to tmux and just use op/AX to detect default colours.
Irritatingly, although op can be used to tell if a terminal supports default
colours, it can't be used to set them because in some terminfo descriptions it
resets attributes as a side-effect (acts as sgr0) and in others it doesn't, so
it is not possible to determine reliably what the terminal state will be
afterwards. So if AX is missing and op is present, tmux just sends sgr0.

Anyone using -d for a terminal who finds they actually needed it can replace it
using terminal-overrides, but please let me know as it is probably an omission
from terminfo.
2009-10-25 21:11:21 +00:00
5bed597e61 +time.h. 2009-10-25 17:51:07 +00:00
7b4f0398c3 [ is a punctuation character and should be escaped with Ql. Although the
current groff version we have seems to handle it fine, other versions are not
so tolerant.
2009-10-25 01:10:57 +00:00
385236e967 Bring a comment into line with reality. 2009-10-24 21:18:33 +00:00
df818c1b69 -a option to kill all except current pane. From Tiago Cunha, thanks! 2009-10-24 10:12:39 +00:00
c2b8f3b55a Support the bright fg/bg colour SGR 90-97 and 100-107.
Reported by Tim Allen.
2009-10-23 15:48:39 +00:00
1f22a199fb Redraw checks have to after handling input or pane redraw flags set by key
presses will not be acted on.
2009-10-22 21:01:52 +00:00