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
This commit is contained in:
parent
fbaeb85363
commit
1fdc65ff93
10
dwl.c
10
dwl.c
|
@ -1145,9 +1145,6 @@ focusclient(Client *c, int lift)
|
||||||
{
|
{
|
||||||
struct wlr_surface *old = seat->keyboard_state.focused_surface;
|
struct wlr_surface *old = seat->keyboard_state.focused_surface;
|
||||||
int i;
|
int i;
|
||||||
/* Do not focus clients if a layer surface is focused */
|
|
||||||
if (exclusive_focus)
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* Raise client in stacking order if requested */
|
/* Raise client in stacking order if requested */
|
||||||
if (c && lift)
|
if (c && lift)
|
||||||
|
@ -1164,8 +1161,11 @@ focusclient(Client *c, int lift)
|
||||||
c->isurgent = 0;
|
c->isurgent = 0;
|
||||||
client_restack_surface(c);
|
client_restack_surface(c);
|
||||||
|
|
||||||
for (i = 0; i < 4; i++)
|
/* Don't change border color if there is a exclusive focus
|
||||||
wlr_scene_rect_set_color(c->border[i], focuscolor);
|
* (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 */
|
/* Deactivate old client if focus is changing */
|
||||||
|
|
Loading…
Reference in a new issue