diff options
author | Ian Fan <ianfan0@gmail.com> | 2018-07-18 21:55:14 +0100 |
---|---|---|
committer | Ian Fan <ianfan0@gmail.com> | 2018-08-01 16:57:15 +0100 |
commit | 03eaf444a4a432e5712d40f93d849b51d2028b63 (patch) | |
tree | ab593f6a5157668ed8515c0af211b7b8c1d37b1c /sway/commands | |
parent | b2ac234569ff98de583d9e7755526cadf960f772 (diff) | |
download | sway-03eaf444a4a432e5712d40f93d849b51d2028b63.tar.xz |
ipc: prevent emitting a workspace::focus event when moving a container to a different workspace or output
When a container is moved from, say, workspace 1 to workspace 2, workspace 2 is focused in order to arrange the windows before focus is moved back to workspace 1, which caused a workspace:focus event from workspace 2 to workspace 1 to be emitted. This commit inhibits that event.
Diffstat (limited to 'sway/commands')
-rw-r--r-- | sway/commands/move.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sway/commands/move.c b/sway/commands/move.c index 1aae3838..46ebcd83 100644 --- a/sway/commands/move.c +++ b/sway/commands/move.c @@ -98,7 +98,7 @@ static struct cmd_results *cmd_move_container(struct sway_container *current, container_move_to(current, destination); struct sway_container *focus = seat_get_focus_inactive( config->handler_context.seat, old_parent); - seat_set_focus(config->handler_context.seat, focus); + seat_set_focus_warp(config->handler_context.seat, focus, true, false); container_reap_empty(old_parent); container_reap_empty(destination->parent); @@ -135,7 +135,7 @@ static struct cmd_results *cmd_move_container(struct sway_container *current, struct sway_container *old_parent = current->parent; struct sway_container *old_ws = container_parent(current, C_WORKSPACE); container_move_to(current, focus); - seat_set_focus(config->handler_context.seat, old_parent); + seat_set_focus_warp(config->handler_context.seat, old_parent, true, false); container_reap_empty(old_parent); container_reap_empty(focus->parent); |