diff options
-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 | } |