2062 Commits

Author SHA1 Message Date
b8a102d26f Handle wcwidth() and mbtowc() failures in better style and drop
characters where we can't find the width (wcwidth() fails) on input, the
same as we drop invalid UTF-8. Suggested by schwarze@.
2016-03-02 15:36:02 +00:00
26945d7956 Use system wcwidth() instead of carrying around UTF-8 width tables. 2016-03-01 12:02:08 +00:00
5fce21728e Merge branch 'obsd-master' 2016-01-31 12:01:09 +00:00
fa64b89ad7 Whoops, need this for the previous reverse trim commit too. 2016-01-31 09:57:41 +00:00
8cf1504ba6 Merge branch 'obsd-master' 2016-01-29 12:01:16 +00:00
427b820426 Support for RGB colour, using the extended cell mechanism to avoid
wasting unnecessary space. The 'Tc' flag must be set in the external
TERM entry (using terminal-overrides or a custom terminfo entry), if not
tmux will map to the closest of the 256 or 16 colour palettes.

Mostly from Suraj N Kurapati, based on a diff originally by someone else.
2016-01-29 11:13:56 +00:00
dc42c35f1f Merge branch 'obsd-master' 2016-01-19 18:01:15 +00:00
b5b5221c13 Split out getting the current state from the target search so it can be
replaced if we already know the current.
2016-01-19 16:01:30 +00:00
995af0e2b7 I no longer use my SourceForge address so replace it. 2016-01-19 15:59:12 +00:00
5d21faa99c Merge branch 'obsd-master' 2016-01-16 02:01:10 +00:00
c9815307eb Add hooks for alerts (bell, silence, activity), from Thomas Adam. 2016-01-16 00:36:53 +00:00
506adf3764 Merge branch 'obsd-master' 2016-01-15 12:01:11 +00:00
68d797587e A couple of missing printflike attributes, from Andrey Starodubtsev. 2016-01-15 11:31:47 +00:00
e0cae08c04 Merge branch 'obsd-master' 2015-12-17 00:01:08 +00:00
99e9a4c786 send-keys -R should reset the input parser to ground state (so it can be
used to escape from, for example, printf '\033]2;').
2015-12-16 22:05:35 +00:00
e5caf64815 Merge branch 'obsd-master' 2015-12-15 14:01:12 +00:00
ac9778395f Some hooks API changes to fire a hook while waiting another cmdq and
infrastructure that will be needed soon.
2015-12-15 13:43:07 +00:00
1a33ea9671 Merge branch 'obsd-master' 2015-12-15 02:01:14 +00:00
6ab17e3e15 Merge branch 'obsd-master' 2015-12-15 00:01:08 +00:00
12da13c9d1 Make the marked pane a cmd_find_state. 2015-12-15 00:00:01 +00:00
d5999f8b5c Use cmd_find_clear_state instead of an extra function doing the same. 2015-12-14 23:30:58 +00:00
bc6137f9e4 Merge branch 'obsd-master' 2015-12-14 01:30:15 +00:00
a3129fd4e8 Instead of combined flags for -c, -s, -t, split into different sets
using an enum and simplify the parsing code.
2015-12-14 00:31:54 +00:00
5caec3020d Merge branch 'obsd-master' 2015-12-13 23:46:58 +00:00
ecfeee2e82 Use member names in cmd_entry definitions so I stop getting confused
about the order.
2015-12-13 21:53:57 +00:00
00da99f2c4 Merge branch 'obsd-master' 2015-12-13 20:01:09 +00:00
72948d9f1d -c needs to be able for fail for display-message. 2015-12-13 18:31:47 +00:00
d37a580085 Merge branch 'obsd-master' 2015-12-13 18:01:11 +00:00
9f5aca62a9 Use struct cmd_find_state directly and remove cmd_state_flag, also
change so that winlink is set even if an index is too.
2015-12-13 17:55:14 +00:00
9b7697db62 Change cmd_find_target to use a state struct from the caller. 2015-12-13 16:44:35 +00:00
ae5ddfdc1a Merge branch 'obsd-master' 2015-12-13 16:01:13 +00:00
ff599f4004 Remove the cmd_find_{session,window,pane,index} functions (which are
just wrappers around cmd_find_target) and just use cmd_find_target
directly.
2015-12-13 15:32:12 +00:00
4a4daf1303 Instead of every command resolving the target (-t or -s) itself, prepare
the state (client, session, winlink, pane) for it it before entering the
command. Each command provides some flags that tell the prepare step
what it is expecting.

This is a requirement for having hooks on commands (for example, if you
hook "select-window -t1:2", the hook command should to operate on window
1:2 not whatever it thinks is the current window), and should allow some
other target improvements.

The old cmd_find_* functions remain for the moment but that layer will
be dropped later.

Joint work with Thomas Adam.
2015-12-13 14:32:38 +00:00
845a664bb2 Merge branch 'obsd-master' 2015-12-12 20:01:15 +00:00
5ed17e84fa Add key-table option to set the default key table for a session, allows
different key bindings for different sessions and a few other things.
2015-12-12 18:32:24 +00:00
39cf9c9d31 Allow prefix and prefix2 to be set to None to disable (useful if you
would rather bind the prefix in the root table).
2015-12-12 18:19:00 +00:00
2a6b215328 Merge branch 'obsd-master' 2015-12-11 18:01:11 +00:00
88bc8f3528 Style nits and line wrapping of function declarations. 2015-12-11 16:37:21 +00:00
2a3456cd3b Merge branch 'obsd-master' 2015-12-11 16:01:16 +00:00
bd5918760e We cannot do hooks_find and then hooks_remove because it might have come
from the parent (global) tree, instead make it remove by name like options.

While here, also tidy up a few bits of options and hooks handling (use
RB_FOREACH_SAFE, and a helper function for the free).
2015-12-11 15:46:57 +00:00
4909a70174 Merge branch 'obsd-master' 2015-12-11 13:24:45 +00:00
01831da5f5 Add cmdq as an argument to format_create and add a format for the
command name (will also be used for more later).
2015-12-11 12:27:36 +00:00
af8134a6ff Merge branch 'obsd-master' 2015-12-08 10:01:16 +00:00
e0f26dcda3 Remove format_create_flags and just pass flags to format_create. 2015-12-08 08:34:18 +00:00
8f671d3eef Spacing nits. 2015-12-08 08:14:04 +00:00
5862f59ed7 Conflicts:
Makefile
2015-12-08 07:11:09 +00:00
d2fb0efcd1 Add hooks infrastructure, basic commands (set-hook, show-hooks) and a
couple of not very useful client hooks. This will eventually let
commands be run at various points and on notifications. Joint work with
Thomas Adam.
2015-12-08 01:10:31 +00:00
bac8c72381 Merge branch 'obsd-master' 2015-12-07 10:01:09 +00:00
b9563340b7 Fix bell indicators across detach, reported by Torbjorn Lonnemark, diff
from Thomas Adam.
2015-12-07 09:47:41 +00:00
9fe8b28746 Merge branch 'obsd-master' 2015-11-27 15:41:28 +00:00