diff options
author | Ian Fan <ianfan0@gmail.com> | 2018-07-18 21:52:15 +0100 |
---|---|---|
committer | Ian Fan <ianfan0@gmail.com> | 2018-08-01 16:57:15 +0100 |
commit | b2ac234569ff98de583d9e7755526cadf960f772 (patch) | |
tree | 850c9ca131a2d41efb3ead1968bdb9bb734cef03 | |
parent | ipc: add tick event (diff) | |
download | sway-b2ac234569ff98de583d9e7755526cadf960f772.tar.gz sway-b2ac234569ff98de583d9e7755526cadf960f772.tar.zst sway-b2ac234569ff98de583d9e7755526cadf960f772.zip |
ipc: fix workspace::focus event behaviour
-rw-r--r-- | sway/input/seat.c | 4 | ||||
-rw-r--r-- | sway/tree/layout.c | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/sway/input/seat.c b/sway/input/seat.c index c85e9242..76050aa9 100644 --- a/sway/input/seat.c +++ b/sway/input/seat.c | |||
@@ -739,7 +739,9 @@ void seat_set_focus_warp(struct sway_seat *seat, | |||
739 | 739 | ||
740 | if (last_focus) { | 740 | if (last_focus) { |
741 | if (last_workspace) { | 741 | if (last_workspace) { |
742 | ipc_event_workspace(last_workspace, container, "focus"); | 742 | if (last_workspace != new_workspace) { |
743 | ipc_event_workspace(last_workspace, new_workspace, "focus"); | ||
744 | } | ||
743 | if (!workspace_is_visible(last_workspace) | 745 | if (!workspace_is_visible(last_workspace) |
744 | && workspace_is_empty(last_workspace)) { | 746 | && workspace_is_empty(last_workspace)) { |
745 | if (last_workspace == last_focus) { | 747 | if (last_workspace == last_focus) { |
diff --git a/sway/tree/layout.c b/sway/tree/layout.c index a0f9b6de..9fbbccaf 100644 --- a/sway/tree/layout.c +++ b/sway/tree/layout.c | |||
@@ -598,7 +598,7 @@ void container_move(struct sway_container *container, | |||
598 | next_ws = container_parent(next_ws, C_WORKSPACE); | 598 | next_ws = container_parent(next_ws, C_WORKSPACE); |
599 | } | 599 | } |
600 | if (last_ws && next_ws && last_ws != next_ws) { | 600 | if (last_ws && next_ws && last_ws != next_ws) { |
601 | ipc_event_workspace(last_ws, container, "focus"); | 601 | ipc_event_workspace(last_ws, next_ws, "focus"); |
602 | workspace_detect_urgent(last_ws); | 602 | workspace_detect_urgent(last_ws); |
603 | workspace_detect_urgent(next_ws); | 603 | workspace_detect_urgent(next_ws); |
604 | } | 604 | } |