diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-10-16 08:17:24 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-10-16 08:17:24 +1000 |
commit | 05284b65db5f3cdfa88d7e06055aadd0d5fa8e50 (patch) | |
tree | 7238c53d8310712a94b6d798ef096bd3ad48f43e /sway/commands | |
parent | 26278b694c5eeff38512cfe8156567718db73c65 (diff) | |
download | sway-05284b65db5f3cdfa88d7e06055aadd0d5fa8e50.tar.xz |
Prevent duplicate workspace::focus events
Previously we would compare the last focus's workspace with the new
focus's workspace to determine if we need to emit an IPC
workspace::focus event. This doesn't work when moving the focused
container to a new workspace.
This adds a workspace property to the seat which stores the last emitted
workspace::focus workspace. Using this method, after moving the
container, refocusing it will trigger exactly one workspace::focus
event: from the old workspace to the new workspace.
Diffstat (limited to 'sway/commands')
-rw-r--r-- | sway/commands/move.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sway/commands/move.c b/sway/commands/move.c index 215ffe27..24036f36 100644 --- a/sway/commands/move.c +++ b/sway/commands/move.c @@ -704,7 +704,7 @@ static struct cmd_results *cmd_move_in_direction( } // Hack to re-focus container - seat_set_focus_workspace(config->handler_context.seat, new_ws); + seat_set_raw_focus(config->handler_context.seat, &new_ws->node); seat_set_focus_container(config->handler_context.seat, container); if (old_ws != new_ws) { |