aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sway/extensions.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sway/extensions.c b/sway/extensions.c
index b3984595..9283b656 100644
--- a/sway/extensions.c
+++ b/sway/extensions.c
@@ -129,7 +129,12 @@ static void set_lock_surface(struct wl_client *client, struct wl_resource *resou
desktop_shell.is_locked = true;
// reset input state
input_init();
- set_focused_container(view);
+ // set focus if the lockscreen is spawned on the currently
+ // active output
+ swayc_t *focus_output = swayc_active_output();
+ if (focus_output == output) {
+ set_focused_container(view);
+ }
arrange_windows(workspace, -1, -1);
list_add(desktop_shell.lock_surfaces, surface);
wl_resource_set_destructor(surface, lock_surface_destructor);