sway/include
mstoeckl 6a805aace0 Use stored commands for bindings
The preceding commit includes motivation; specifically,
invoking keyboard and mouse bindings should never fail
unless they perform an action which can fail. For instance,
a `bindcode Ctrl+9 exit` should always exit; of course,
`exec` may fail for external reasons.

The core changes are to bind.c and commands.c. As a single
command may actually, on being parsed, generate multiple
commands to be executed (consider `workspace 1; splith`),
the parsing code in execute_command is moved to a separate
function, parse_command, which returns a list_t of stored
commands; leaving execute_command to parse the command,
execute each resulting list element; and then cleanup.

An additional field for the list of parsed stored commands,
is added to struct sway_binding, usurping the name "command".
This is initialized via parse_command, and then
seat_execute_command is adjusted accordingly.

Side effects of this change include:
* Reference counting `struct criteria`, because a criterion
parsed once may apply to multiple stored commands, and
the alternative of duplicating criteria is even more
complicated.
* Adding reading and active arguments to config_handler,
because when bindsyms parse commands, they require handler
lookups to be performed as though it were runtime.
* Reference counting `struct sway_binding`, because the
alternative of updating sway_binding_dup is even more
complicated when allocation failures are be taken into
account.
2018-08-24 19:58:08 -04:00
..
sway Use stored commands for bindings 2018-08-24 19:58:08 -04:00
swaybar swaybar: Fix scroll handling on workspace buttons 2018-07-19 21:15:01 +02:00
swaylock Implement swaylock customization flags 2018-07-10 21:29:15 -04:00
swaynag Fix bad-free in swaynag 2018-08-20 15:06:12 -04:00
background-image.h Initial swaylock port 2018-04-04 18:47:48 -04:00
cairo.h Address review comments 2018-03-28 14:43:23 -04:00
ipc-client.h swaybar: move core functionality to state.c 2016-01-24 14:22:19 +01:00
ipc.h ipc: remove extraneous values 2018-08-01 16:57:15 +01:00
list.h Use list_find in more places and refactor/fix workspace prev_next functions 2018-08-15 15:14:35 +10:00
log.h Update for swaywm/wlroots#1126 2018-07-09 22:54:30 +01:00
meson.build Address review comments 2018-03-28 14:43:23 -04:00
pango.h Change scale from int32_t to double for pango 2018-05-16 12:01:04 -04:00
pool-buffer.h client/pool-buffer: munmap in destroy_buffer 2018-05-27 14:09:48 +01:00
readline.h Address emersion's feedback on peek_line 2018-06-02 08:07:44 -04:00
stringop.h Clean up container title functions 2018-05-25 21:07:59 +10:00
unicode.h Add password buffer, refactor rendering/surfaces 2018-04-04 18:47:48 -04:00
util.h util.h: add missing include 2018-07-30 15:21:52 +01:00