Commit Graph

1420 Commits

Author SHA1 Message Date
c2eb869f72 Change paranoia check to check for <= 0 and to avoid warning. 2009-11-26 22:32:00 +00:00
8cb410c63c Tidy up various bits of the paste code, make the data buffer char * and add
comments.
2009-11-26 22:28:24 +00:00
ba5404d93e Continue rather than returning if not a mouse key, to avoid hanging on any
function key...
2009-11-26 22:26:51 +00:00
4ca857e0e9 Remove a couple of unused arguments where possible, and add /* ARGSUSED */ to
the rest to reduce lint output.
2009-11-26 21:37:13 +00:00
621dabd44e Rename a variable to something more helpful. 2009-11-26 21:22:31 +00:00
3e147967e2 Get a u_char from the string, otherwise it isn't possible to enter \0377 as it
is mistaken for EOF (doh).

Also drop an unused argument.
2009-11-26 21:14:30 +00:00
9c0147915e Handle the possibility of partial mouse reads, and fix a comment while here. 2009-11-26 15:14:03 +00:00
d31d4c05cf Emulate il1, dl1, ich1 to run (albeit slowly) with vt100 feature set. 2009-11-26 14:46:08 +00:00
094bca5ac3 Output the right keys for application and number keypad modes (they were the
wrong way round).
2009-11-25 12:24:31 +00:00
87821fce0e Add a -p flag to display-message to print the output rather than displaying in
the status line, this allows things like "display -p '#W'" to find the current
window index.
2009-11-24 19:16:11 +00:00
fce47e2e63 Add cursor keys to the key names list. 2009-11-22 22:52:39 +00:00
9b9d26f80e Use home from struct passwd if HOME is empty as well as if it is NULL, and fix
a style nit. Both from Tiago Cunha.
2009-11-21 17:52:18 +00:00
58688c48aa When -h and -p are given to split-window, calculate the percentage size using
the width instead of the height.
2009-11-20 19:12:39 +00:00
5d56225d95 Display UTF-8 properly in status line messages and prompt. Cursor handling is
still way off though.
2009-11-20 07:01:12 +00:00
070e3b4178 Remove oldest messages from log when limit is hit, not newest. 2009-11-20 06:33:26 +00:00
2cea9433c2 Get some brackets in the right place so ## works. Also fix a space in a
comment.
2009-11-19 21:30:53 +00:00
33b337f618 Change status line drawing to create the window list in a separate screen and
then copy it into the status line screen. This allows UTF-8 in window names and
fixes some problems with #[] in window-status-format.
2009-11-19 19:47:28 +00:00
543fb99bc6 Two new options, window-status-format and window-status-current-format, which
allow the format of each window in the status line window list to be controlled
using similar # sequences as status-left/right.

This diff also moves part of the way towards UTF-8 support in window names but
it isn't quite there yet.
2009-11-19 16:22:10 +00:00
8b8a211185 tweak previous; 2009-11-19 15:00:32 +00:00
4a38189349 Revert to xterm-keys off by default. It was on as an experiment to see if the
option could be removed, but it affects vi, so we have to keep the option, and
a conservative default is better.
2009-11-19 14:06:33 +00:00
ed781e84ee Tidy up by breaking the # replacement code into a separate function, also add a
few comments.
2009-11-19 11:38:54 +00:00
ac5b7d518e Don't interpret #() for display-message, it usually doesn't make sense and may
leak commands.
2009-11-19 10:22:06 +00:00
8d4eae5662 Missed an unused variable :-/. 2009-11-18 17:03:16 +00:00
a78cc98c8b Cleanup by moving various (mostly horrible) little bits handling UTF-8 grid
data into functions in a new file, grid-utf8.c, and use sizeof intead of
UTF8_DATA.

Also nuke trailing whitespace from tmux.1, reminded by jmc.
2009-11-18 17:02:17 +00:00
8db145da1e Add a per-client log of status line messages displayed while that client
exists. A new message-limit session option sets the maximum number of entries
and a command, show-messages, shows the log (bound to ~ by default).

This (and prompt history) might be better as a single global log but until
there are global options it is easier for them to be per client.
2009-11-18 13:16:33 +00:00
68f5c9c72d Mark -n keys with (no prefix) rather than []. 2009-11-18 10:18:25 +00:00
a9ca8df8e3 Permit top-bit-set characters to be entered in the status line. They could
already be set from the shell and are just passed through when printing (so
invisible characters or displaying on terminals with different character sets
may cause problems).

Note that entering UTF-8 may not work and in any case currently the status line
cannot display it correctly (outside of status-left/status-right).
2009-11-17 13:30:07 +00:00
67bf0933e2 In choose mode, assign each item a number or lowercase letter from those
available and accept that as a shortcut key for the item.
2009-11-17 13:06:11 +00:00
5d7bff4051 A screen can be one cell wide; don't crash if that is the case. 2009-11-16 13:40:45 +00:00
9f6d685c05 I made a complete horlicks of the last change, fix it so it doesn't either lead
to a double free or free the item after the end of the array.
2009-11-16 11:15:44 +00:00
10e05f9867 Tweak a comment and add some spacing. 2009-11-13 19:58:32 +00:00
76ef8770cd Get rid of the ugly CMD_CHFLAG macro and use a const string (eg "dDU") in the
command entry structs and a couple of functions to check/set the flags.
2009-11-13 19:53:28 +00:00
dafa0f022c Unreachable statement, found by lint. 2009-11-13 18:59:14 +00:00
390472566c Tidy up and fix some types, prompted by lint via deraadt. 2009-11-13 18:13:18 +00:00
a18a374d51 imsg_read returns ssize_t not int, pointed out by lint via deraadt. 2009-11-13 18:07:52 +00:00
8e47966225 Destroy panes immediately rather than checking them all every loop. 2009-11-13 17:33:07 +00:00
1415eb3dd2 Use winlink_remove() to remove old winlinks when synchronizing grouped sessions
rather than doing it manually and not adjusted the reference count. Fixes
crash seen by Dan Harnett.
2009-11-13 14:47:31 +00:00
5d397462e4 Zap unused functions, prompted by deraadt. 2009-11-13 07:00:54 +00:00
5ae542e7ee Emulate the ri (reverse index) capability: this allows tmux to at least start
on Sun consoles (TERM=sun or sun-color), even if there appear to still be
problems on some boxes (my Blade 100 is fine but edd's Blade 1000 shows odd
screen corruption).
2009-11-12 08:05:23 +00:00
d9deb4b530 Support rxvt-style keys again, but this time: support all the variations, put
them in as raw escape sequences rather than fiddling with the values from
terminfo, put them /after/ the terminfo values so the latter take precedence.
2009-11-12 08:01:02 +00:00
89763f2ace Rewrite a confusing loop when freeing the arg array on exit and move the check
for argv being NULL, prompted by parfait via deraadt.

Also fix some definite brokenness when assigning multiple environment variables
in arguments (such as "X=1 Y=2").
2009-11-11 18:56:07 +00:00
9df4e7597d Add an explicit zero-length check for UTF-8 input data, prompted by a report
from parfait via deraadt.

While here, add a statement to set the width when filling with _s if not enough
space (width should never be high enough at the moment anyway), and wrap some
long lines.
2009-11-11 18:53:21 +00:00
08a8ccf46b Free the pane bufferevent when the fd is closed (the signal could come before
the error callback).
2009-11-11 13:24:42 +00:00
2756437f4b Only need to chmod +x or -x the socket when a client is created, lost or
attached, rather than every event loop.
2009-11-11 08:00:42 +00:00
15b9946a40 There is no real standard for modifier plus function keys. Previously, tmux
output some from rxvt but in other ways did the same as xterm or other
terminals, but this is a bit inconsistent.

xterm's method is fairly sensible and we already support it (xterm-keys), so
enable it by default instead.
2009-11-10 18:53:11 +00:00
d9961f40bf Don't output rxvtisms either. 2009-11-10 18:48:03 +00:00
05831b52c4 Twiddling the last bit is an rxvtism, so do not support it in the table by
default.
2009-11-10 17:59:34 +00:00
b92fcf23fd Whoops, this is needed for last commit as well. 2009-11-10 17:41:35 +00:00
38f64b3da3 Lookup key as a named key (eg 'Space') before checking for single character
keys, makes C-Space/M-Space etc resolve to the correct key code.
2009-11-10 17:24:43 +00:00
9f47c6083a Don't return 1 unless there was actually a problem (signal/lost server) rather
than for all events (normal exit/detach/etc).
2009-11-10 15:47:48 +00:00