aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeonardo Hernández Hernández <leohdz172@protonmail.com>2022-09-18 17:25:12 -0500
committerLeonardo Hernández Hernández <leohdz172@protonmail.com>2022-09-18 17:25:12 -0500
commit1fdc65ff930a326c92b58129970026daec400862 (patch)
tree3a64fce3969984764668b52849cb2f1fe49fc606
parentfbaeb853638a984c69045923eb662d783035762c (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.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/dwl.c b/dwl.c
index c1fb9c1..270f8f0 100644
--- a/dwl.c
+++ b/dwl.c
@@ -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 */