577c0e3e5a
Use __unused rather than rolling our own.
2015-11-18 14:27:44 +00:00
5a5b950e8b
Add s/foo/bar/: prefix for formats to substitute bar for foo.
2015-11-18 14:13:55 +00:00
64571368dc
Sync the entire xmalloc.[ch] with the other users, but with the addition
...
of xrealloc, xvasprintf, xvsnprintf.
2015-11-18 13:06:54 +00:00
ca5e6bf5f2
Don't update activity time twice for new sessions, and add some logging.
2015-11-18 09:22:29 +00:00
d0505fd042
Merge xmalloc.[ch] files across base, skipping OpenSSH for now.
...
ok nicm
2015-11-17 18:25:03 +00:00
775fb562bd
0x7f is a valid key.
2015-11-16 22:57:51 +00:00
661d0dfac9
Make key_code unsigned long long not uint64_t which is more portable for
...
printf formats, and move UTF8_SIZE define down to near the rest of the
UTF-8 bits.
2015-11-15 22:50:38 +00:00
a582b62287
Accidentally turned off pledge, turn it back on.
2015-11-15 14:32:48 +00:00
14d90e4901
The character is an int so use %x not %hhx.
2015-11-14 12:20:19 +00:00
3db0d50df4
The private use area at U+E000 to U+F8FF is not very useful if it is
...
width 0, make it width 1 instead.
2015-11-14 12:03:23 +00:00
205d15e82d
All these return values from utf8_* are confusing, use an enum.
2015-11-14 11:45:43 +00:00
f401791a56
Rename a variable in utf8_combine for consistency and use 0xfffd for
...
unknown Unicode.
2015-11-14 11:13:44 +00:00
dab63b029e
Couple of assignments to remove compiler warnings.
2015-11-14 10:57:59 +00:00
64333e3ef8
Be more strict about invalid UTF-8.
2015-11-14 10:56:31 +00:00
c56b81a2ce
Push stdout and stderr to clients more aggressively, and add an event to
...
continue if the send fails.
2015-11-14 09:41:06 +00:00
908e6bb68f
Log more of UTF-8 input.
2015-11-14 08:25:12 +00:00
c4893d8efd
Log option names in fatal() for missing option.
2015-11-13 16:06:43 +00:00
88aa1c8dc3
Two spacing and spelling nits.
2015-11-13 12:18:52 +00:00
531869bd92
Add window_visible_layout which ignores zoomed panes and use it for
...
control mode (which needs to know all panes), from George Nachman.
2015-11-13 10:00:26 +00:00
c5689a5a40
Long overdue change to the way we store cells in the grid: now, instead
...
of storing a full grid_cell with UTF-8 data and everything, store a new
type grid_cell_entry. This can either be the cell itself (for ASCII
cells), or an offset into an extended array (per line) for UTF-8
data.
This avoid a large (8 byte) overhead on non-UTF-8 cells (by far the
majority for most users) without the complexity of the shadow array we
had before. Grid memory without any UTF-8 is about half.
The disadvantage that cells can no longer be modified in place and need
to be copied out of the grid and back but it turned out to be lot less
complicated than I expected.
2015-11-13 08:09:28 +00:00
e71a915412
Rename overly-long utf8data to ud throughout.
2015-11-12 22:04:37 +00:00
f2d03f4fdd
grid_put_utf8 is unused, remove it.
2015-11-12 14:50:57 +00:00
a209ea3953
Add utf8_padcstr and use it to align columns in list-keys.
2015-11-12 12:43:36 +00:00
1da7475d0e
tweak previous; ok nicm
2015-11-12 12:36:34 +00:00
d6daf37df4
Tidy utf8.c a little: build table on first use, and make utf8_width take
...
a u_int rather than splitting and then combining again in utf8_split.
2015-11-12 12:19:57 +00:00
0cc812ae34
tmux is UTF-8, so if $TMUX is set (tmux running in tmux), the client is
...
UTF-8. Also try to make the existing checks more readable.
2015-11-12 11:24:08 +00:00
c41673f3fa
If we know the terminal outside tmux is not UTF-8, replace UTF-8 in
...
error messages and whatnot with underscores the same as we do when we
draw UTF-8 characters as part of the screen.
2015-11-12 11:10:50 +00:00
1b86f520ea
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8
...
terminal. We still support non-UTF-8 terminals outside tmux, but inside
it is always UTF-8 (as when the utf8 and status-utf8 options were on).
2015-11-12 11:09:11 +00:00
a0f3999ce7
Remove the mouse_utf8_flag format as well.
2015-11-12 11:07:10 +00:00
69e0b8326a
Support UTF-8 key bindings by expanding the key type from int to
...
uint64_t and converting UTF-8 to Unicode on input and the reverse on
output. (This allows key bindings, there are still omissions - the
largest being that the various prompts do not accept UTF-8.)
2015-11-12 11:05:34 +00:00
7062b0e65d
Default history-file should be "" not NULL, from Greg Onufe.
2015-11-12 08:19:18 +00:00
00c34df186
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says
...
it supports UTF-8.
2015-11-11 23:23:33 +00:00
6f3475c6c7
If realpath() fails just try the original path.
2015-11-10 22:33:47 +00:00
005e462e01
Handle absolute paths properly, and don't use resolved path in
...
realpath() fails.
2015-11-10 22:29:33 +00:00
dcdccf8333
Same bug as last commit, but in the other copy of the loop in this file...
2015-11-05 23:32:21 +00:00
e9b58d9de4
Update the internal wcwidth(3) table of tmux(1) to match the data
...
in /usr/src/share/locale/ctype/en_US.UTF-8.src, with one single
exception: Keep U+00AD SOFT HYPHEN at width 1 rather than moving
it to width 0, a tradition already observed in the old
https://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c .
While here, manually rebalance the btree for optimal lookup speed.
OK nicm@
2015-11-05 16:44:25 +00:00
5577535891
Pass through right click if mouse is on, from Patrick Palka.
2015-11-05 11:05:30 +00:00
455284f1c0
Detach the client we are looping over, from Thomas Adam.
2015-11-03 15:07:36 +00:00
ba7fb49fb9
Fall back silently to ~ or / rather than checking -c with access(), this
...
was the old behaviour.
2015-10-31 14:51:15 +00:00
b0a99e85b6
Don't shift version out of peerid, it is needed later.
2015-10-31 13:43:38 +00:00
abb4e9e2fa
The output log is only useful once and it means creating a file, so open
...
it once at startup instead of in every call to tty_open.
2015-10-31 13:12:03 +00:00
01defc9f49
Because pledge(2) does not allow us to pass directory file descriptors
...
around, we can't use file descriptors for the working directory because
we will be unable to pass it to a privileged process to tell it where to
read or write files or spawn children. So move tmux back to using
strings for the current working directory. We try to check it exists
with access() when it is set but ultimately fall back to ~ if it fails
at time of use (or / if that fails too).
2015-10-31 08:13:58 +00:00
45f3cea263
Break version check into a separate function, and limit version to 8 bits.
2015-10-29 09:35:31 +00:00
bf9c933cae
Like options, move the environ struct into environ.c.
2015-10-28 09:51:55 +00:00
44657bf932
Move struct options into options.c.
2015-10-27 15:58:42 +00:00
67c3a014b9
No more TMPDIR.
2015-10-27 14:51:35 +00:00
07b0ea03c3
Break the common process set up, event loop and imsg dispatch code
...
between server and client out into a separate internal API. This will
make it easier to add another process.
2015-10-27 13:23:24 +00:00
9952201ca7
Count brackets in #{?...} so that nested conditional formats work, from
...
Daniel De Graaf.
2015-10-27 09:28:31 +00:00
17c2c4219d
The format callback may not always succeed, so we need to check for
...
NULL. From Patrick Palka.
2015-10-27 09:18:06 +00:00
3fc001d0a2
Use copy-mode -et= in WheelUpPane binding, from Patrick Palka.
2015-10-27 09:15:21 +00:00