summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Ian Fan <ianfan0@gmail.com>2018-07-18 21:52:15 +0100
committerLibravatar Ian Fan <ianfan0@gmail.com>2018-08-01 16:57:15 +0100
commitb2ac234569ff98de583d9e7755526cadf960f772 (patch)
tree850c9ca131a2d41efb3ead1968bdb9bb734cef03
parentipc: add tick event (diff)
downloadsway-b2ac234569ff98de583d9e7755526cadf960f772.tar.gz
sway-b2ac234569ff98de583d9e7755526cadf960f772.tar.zst
sway-b2ac234569ff98de583d9e7755526cadf960f772.zip
ipc: fix workspace::focus event behaviour
-rw-r--r--sway/input/seat.c4
-rw-r--r--sway/tree/layout.c2
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 }