diff --git a/sway/focus.c b/sway/focus.c index ca56de4b..6911ac00 100644 --- a/sway/focus.c +++ b/sway/focus.c @@ -95,6 +95,8 @@ bool set_focused_container(swayc_t *c) { if (locked_container_focus || !c || !c->parent) { return false; } + swayc_t *active_ws = swayc_active_workspace(); + swayc_log(L_DEBUG, c, "Setting focus to %p:%ld", c, c->handle); // Get workspace for c, get that workspaces current focused container. @@ -133,6 +135,10 @@ bool set_focused_container(swayc_t *c) { } } } + + if (active_ws != workspace) { + ipc_event_workspace(active_ws, workspace); + } return true; } diff --git a/sway/workspace.c b/sway/workspace.c index 6c9a39e0..f7134917 100644 --- a/sway/workspace.c +++ b/sway/workspace.c @@ -3,6 +3,7 @@ #include #include #include +#include "ipc-server.h" #include "workspace.h" #include "layout.h" #include "list.h"