diff options
author | emersion <contact@emersion.fr> | 2018-01-22 01:16:23 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-22 01:16:23 +0100 |
commit | 0c58673c6a108ba241419a0f1d5fecd47f22370e (patch) | |
tree | c3e19af6dd70f04fc5c617e932b4afcc7a1b41d9 /sway/input/keyboard.c | |
parent | a6bc46eea9d7dec6a2b93f85bac2e3737e0c6725 (diff) | |
parent | beb3805cf0300bc2640290233aa763d757c12466 (diff) |
Merge pull request #1574 from acrisci/config-refactor
Command criteria
Diffstat (limited to 'sway/input/keyboard.c')
-rw-r--r-- | sway/input/keyboard.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sway/input/keyboard.c b/sway/input/keyboard.c index 5827a1ca..6dc57d46 100644 --- a/sway/input/keyboard.c +++ b/sway/input/keyboard.c @@ -89,9 +89,12 @@ static bool binding_matches_key_state(struct sway_binding *binding, return false; } -static void binding_execute_command(struct sway_binding *binding) { +static void keyboard_execute_command(struct sway_keyboard *keyboard, + struct sway_binding *binding) { wlr_log(L_DEBUG, "running command for binding: %s", binding->command); + config_clear_handler_context(config); + config->handler_context.seat = keyboard->seat_device->sway_seat; struct cmd_results *results = handle_command(binding->command); if (results->status != CMD_SUCCESS) { wlr_log(L_DEBUG, "could not run command for binding: %s", @@ -160,7 +163,7 @@ static bool keyboard_execute_bindsym(struct sway_keyboard *keyboard, } if (match) { - binding_execute_command(binding); + keyboard_execute_command(keyboard, binding); return true; } } @@ -267,7 +270,7 @@ static bool keyboard_execute_bindcode(struct sway_keyboard *keyboard, for (int i = 0; i < keycode_bindings->length; ++i) { struct sway_binding *binding = keycode_bindings->items[i]; if (binding_matches_keycodes(wlr_keyboard, binding, event)) { - binding_execute_command(binding); + keyboard_execute_command(keyboard, binding); return true; } } |