diff options
author | Leonardo Hernández Hernández <leohdz172@protonmail.com> | 2022-09-18 17:25:12 -0500 |
---|---|---|
committer | Leonardo Hernández Hernández <leohdz172@protonmail.com> | 2022-09-18 17:25:12 -0500 |
commit | 1fdc65ff930a326c92b58129970026daec400862 (patch) | |
tree | 3a64fce3969984764668b52849cb2f1fe49fc606 | |
parent | fbaeb853638a984c69045923eb662d783035762c (diff) |
make more permissive exclusive focus
now you can call focusstack() while a layer surface is focused and when it gets
unmapped the newly focused clients will be actually focused
-rw-r--r-- | dwl.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -1145,9 +1145,6 @@ focusclient(Client *c, int lift) { struct wlr_surface *old = seat->keyboard_state.focused_surface; int i; - /* Do not focus clients if a layer surface is focused */ - if (exclusive_focus) - return; /* Raise client in stacking order if requested */ if (c && lift) @@ -1164,8 +1161,11 @@ focusclient(Client *c, int lift) c->isurgent = 0; client_restack_surface(c); - for (i = 0; i < 4; i++) - wlr_scene_rect_set_color(c->border[i], focuscolor); + /* Don't change border color if there is a exclusive focus + * (at this moment it means that a layer surface is focused) */ + if (!exclusive_focus) + for (i = 0; i < 4; i++) + wlr_scene_rect_set_color(c->border[i], focuscolor); } /* Deactivate old client if focus is changing */ |