raise fullscreen windows on top of all other X11 windows
Note that this is ineffective for dunst’s notifications because dunst re-raises them as soon as they get obscured. It does work for dzen2 however, which was the original use-case. fixes #569
This commit is contained in:
14
src/render.c
14
src/render.c
@ -70,7 +70,7 @@ static void render_l_output(Con *con) {
|
||||
Con *fullscreen = con_get_fullscreen_con(ws, CF_OUTPUT);
|
||||
if (fullscreen) {
|
||||
fullscreen->rect = con->rect;
|
||||
x_raise_con(fullscreen);
|
||||
x_raise_con(fullscreen, true);
|
||||
render_con(fullscreen, true);
|
||||
return;
|
||||
}
|
||||
@ -110,7 +110,7 @@ static void render_l_output(Con *con) {
|
||||
|
||||
DLOG("child at (%d, %d) with (%d x %d)\n",
|
||||
child->rect.x, child->rect.y, child->rect.width, child->rect.height);
|
||||
x_raise_con(child);
|
||||
x_raise_con(child, false);
|
||||
render_con(child, false);
|
||||
}
|
||||
}
|
||||
@ -207,7 +207,7 @@ void render_con(Con *con, bool render_fullscreen) {
|
||||
}
|
||||
if (fullscreen) {
|
||||
fullscreen->rect = rect;
|
||||
x_raise_con(fullscreen);
|
||||
x_raise_con(fullscreen, false);
|
||||
render_con(fullscreen, true);
|
||||
return;
|
||||
}
|
||||
@ -298,7 +298,7 @@ void render_con(Con *con, bool render_fullscreen) {
|
||||
}
|
||||
DLOG("floating child at (%d,%d) with %d x %d\n",
|
||||
child->rect.x, child->rect.y, child->rect.width, child->rect.height);
|
||||
x_raise_con(child);
|
||||
x_raise_con(child, false);
|
||||
render_con(child, false);
|
||||
}
|
||||
}
|
||||
@ -407,7 +407,7 @@ void render_con(Con *con, bool render_fullscreen) {
|
||||
|
||||
DLOG("child at (%d, %d) with (%d x %d)\n",
|
||||
child->rect.x, child->rect.y, child->rect.width, child->rect.height);
|
||||
x_raise_con(child);
|
||||
x_raise_con(child, false);
|
||||
render_con(child, false);
|
||||
i++;
|
||||
}
|
||||
@ -415,7 +415,7 @@ void render_con(Con *con, bool render_fullscreen) {
|
||||
/* in a stacking or tabbed container, we ensure the focused client is raised */
|
||||
if (con->layout == L_STACKED || con->layout == L_TABBED) {
|
||||
TAILQ_FOREACH_REVERSE(child, &(con->focus_head), focus_head, focused)
|
||||
x_raise_con(child);
|
||||
x_raise_con(child, false);
|
||||
if ((child = TAILQ_FIRST(&(con->focus_head)))) {
|
||||
/* By rendering the stacked container again, we handle the case
|
||||
* that we have a non-leaf-container inside the stack. In that
|
||||
@ -429,7 +429,7 @@ void render_con(Con *con, bool render_fullscreen) {
|
||||
* top of every stack window. That way, when a new window is opened in
|
||||
* the stack, the old window will not obscure part of the decoration
|
||||
* (it’s unmapped afterwards). */
|
||||
x_raise_con(con);
|
||||
x_raise_con(con, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user