Nicholas Marriott
e8b25188ad
Missing ;. From eric@ ages ago.
2009-10-29 08:59:17 +00:00
Nicholas Marriott
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
Nicholas Marriott
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
Nicholas Marriott
5730cbf3e3
Twaek this slightly to avoid confusing use of flags variable.
2009-10-28 08:33:20 +00:00
Nicholas Marriott
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
Nicholas Marriott
37ffdff5ba
Move the poll registration functions into the server-*.c files.
2009-10-27 13:03:33 +00:00
Theo Deraadt
ed62d1263c
tabs are better; ok nicm
2009-10-26 21:42:04 +00:00
Nicholas Marriott
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
Nicholas Marriott
6b804f3a4a
Call fstat() after fopen() rather than stat() before.
2009-10-26 21:25:57 +00:00
Nicholas Marriott
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
Nicholas Marriott
6dc6333323
Use strlcpy instead of strncpy, pointed out by deraadt.
2009-10-26 21:10:24 +00:00
Nicholas Marriott
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
Nicholas Marriott
53957dcbaa
Nuke accidentally-committed debugging statement.
2009-10-26 18:16:32 +00:00
Nicholas Marriott
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
Nicholas Marriott
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
Nicholas Marriott
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
Nicholas Marriott
bbca6fe5b0
On second thoughts, drop the rxvt output entirely.
2009-10-26 14:30:57 +00:00
Nicholas Marriott
5cce40d4c3
Set the output code for ctrl+cursor keys correctly, and disable (comment)
...
rxvt-style output.
2009-10-26 14:27:13 +00:00
Nicholas Marriott
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
Nicholas Marriott
fcd3b260ac
Tidy up table.
2009-10-26 13:41:46 +00:00
Nicholas Marriott
a0ec4a11ee
Drop INPUTKEY_CTRL and just handle it as part of the table.
2009-10-26 13:34:26 +00:00
Nicholas Marriott
25d2000625
Add or fix some comments.
2009-10-26 13:29:24 +00:00
Nicholas Marriott
b3604dcf83
Tidy up table.
2009-10-26 13:22:30 +00:00
Nicholas Marriott
db4452d307
Rename keypad keys to something more useful.
2009-10-26 13:13:33 +00:00
Nicholas Marriott
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
Nicholas Marriott
3c9619bb0a
Don't try to continue processing a client if the session has been destroyed.
2009-10-25 22:00:15 +00:00
Nicholas Marriott
48b6d18e7f
Remove -d from tmux.1 as well.
2009-10-25 21:12:15 +00:00
Nicholas Marriott
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
Nicholas Marriott
5bed597e61
+time.h.
2009-10-25 17:51:07 +00:00
Nicholas Marriott
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
Nicholas Marriott
385236e967
Bring a comment into line with reality.
2009-10-24 21:18:33 +00:00
Nicholas Marriott
df818c1b69
-a option to kill all except current pane. From Tiago Cunha, thanks!
2009-10-24 10:12:39 +00:00
Nicholas Marriott
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
Nicholas Marriott
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
Nicholas Marriott
9c40a4edc5
The client buffers have to be checked after every event in order to catch the
...
escape timers and properly reset the cursor.
2009-10-22 20:04:21 +00:00
Nicholas Marriott
eddcc3dfa9
Split the server code handling clients, jobs and windows off into separate
...
files from server.c (merging server-msg.c into the client file) and rather than
iterating over each set after poll(), allow a callback to be specified when the
fd is added and just walk once over the returned pollfds calling each callback
where needed.
More to come, getting this in so it is tested.
2009-10-22 19:41:51 +00:00
Nicholas Marriott
fd35b6f836
Only redraw the pane when changing mode, not the entire window.
2009-10-22 12:30:00 +00:00
Nicholas Marriott
eb0c33cba4
Merge prepare_cmd into main as it is short and only called once.
2009-10-22 10:04:07 +00:00
Nicholas Marriott
284b94662a
Tidy identify message send into a separate function.
2009-10-21 21:11:55 +00:00
Nicholas Marriott
d69b364b5f
Don't try to unsuspend a client if it isn't suspended.
2009-10-21 20:16:40 +00:00
Nicholas Marriott
90ad041fa5
Client tidying: get rid of client_ctx struct in favour of two variables in
...
client.c, and move the functions in client-fn.c into other files.
2009-10-21 20:11:47 +00:00
Nicholas Marriott
59e667906f
Unused variable.
2009-10-21 19:27:09 +00:00
Nicholas Marriott
a22c06a2d6
Remove unused function.
2009-10-21 18:20:16 +00:00
Nicholas Marriott
9a4855295b
Nuke dead store.
2009-10-21 18:12:31 +00:00
Nicholas Marriott
dd46f634fe
Now we are correctly not redrawing the whole pane on linefeed, redo the
...
last-cursor-position code to move to the right position when panes reach EOL.
2009-10-21 16:52:30 +00:00
Nicholas Marriott
af2b0f452c
Tweak descriptions for up/down pane to be clearer.
2009-10-21 13:48:27 +00:00
Nicholas Marriott
9b5da97e6f
Don't redraw the scroll region on linefeed/reverse index unless it is necessary
...
(the cursor is at the bottom/top). Should fix slow cursor movement when using
vi in a pane spotted by pirofti@.
2009-10-21 13:42:44 +00:00
Nicholas Marriott
683ddbc466
Some terminals don't correctly clear their let's-wrap flag after changing the
...
scroll region (which moves the cursor to 0,0). This means that if the cursor
was at the edge of the screen, any further output after scroll region change
incorrectly causes a line wrap. Add a workaround to move the cursor to position
0 if it is at the screen edge before changing scroll region.
2009-10-21 09:36:53 +00:00
Nicholas Marriott
7825871d6a
Getting the read and write ends of the pipe the right way round is usually
...
recommended. DOH.
2009-10-21 07:24:23 +00:00
Nicholas Marriott
9afb0d739e
%zu not %u, doh.
2009-10-20 22:17:33 +00:00