recalc the layer when above/below changes
This commit is contained in:
parent
cc9ef6f22d
commit
aae4f66f68
1 changed files with 14 additions and 6 deletions
|
@ -3115,6 +3115,8 @@ void client_set_state(ObClient *self, Atom action, glong data1, glong data2)
|
||||||
gboolean modal = self->modal;
|
gboolean modal = self->modal;
|
||||||
gboolean iconic = self->iconic;
|
gboolean iconic = self->iconic;
|
||||||
gboolean demands_attention = self->demands_attention;
|
gboolean demands_attention = self->demands_attention;
|
||||||
|
gboolean above = self->above;
|
||||||
|
gboolean below = self->below;
|
||||||
gint i;
|
gint i;
|
||||||
|
|
||||||
if (!(action == prop_atoms.net_wm_state_add ||
|
if (!(action == prop_atoms.net_wm_state_add ||
|
||||||
|
@ -3191,11 +3193,11 @@ void client_set_state(ObClient *self, Atom action, glong data1, glong data2)
|
||||||
} else if (state == prop_atoms.net_wm_state_fullscreen) {
|
} else if (state == prop_atoms.net_wm_state_fullscreen) {
|
||||||
fullscreen = TRUE;
|
fullscreen = TRUE;
|
||||||
} else if (state == prop_atoms.net_wm_state_above) {
|
} else if (state == prop_atoms.net_wm_state_above) {
|
||||||
self->above = TRUE;
|
above = TRUE;
|
||||||
self->below = FALSE;
|
below = FALSE;
|
||||||
} else if (state == prop_atoms.net_wm_state_below) {
|
} else if (state == prop_atoms.net_wm_state_below) {
|
||||||
self->above = FALSE;
|
above = FALSE;
|
||||||
self->below = TRUE;
|
below = TRUE;
|
||||||
} else if (state == prop_atoms.net_wm_state_demands_attention) {
|
} else if (state == prop_atoms.net_wm_state_demands_attention) {
|
||||||
demands_attention = TRUE;
|
demands_attention = TRUE;
|
||||||
} else if (state == prop_atoms.openbox_wm_state_undecorated) {
|
} else if (state == prop_atoms.openbox_wm_state_undecorated) {
|
||||||
|
@ -3220,9 +3222,9 @@ void client_set_state(ObClient *self, Atom action, glong data1, glong data2)
|
||||||
} else if (state == prop_atoms.net_wm_state_fullscreen) {
|
} else if (state == prop_atoms.net_wm_state_fullscreen) {
|
||||||
fullscreen = FALSE;
|
fullscreen = FALSE;
|
||||||
} else if (state == prop_atoms.net_wm_state_above) {
|
} else if (state == prop_atoms.net_wm_state_above) {
|
||||||
self->above = FALSE;
|
above = FALSE;
|
||||||
} else if (state == prop_atoms.net_wm_state_below) {
|
} else if (state == prop_atoms.net_wm_state_below) {
|
||||||
self->below = FALSE;
|
below = FALSE;
|
||||||
} else if (state == prop_atoms.net_wm_state_demands_attention) {
|
} else if (state == prop_atoms.net_wm_state_demands_attention) {
|
||||||
demands_attention = FALSE;
|
demands_attention = FALSE;
|
||||||
} else if (state == prop_atoms.openbox_wm_state_undecorated) {
|
} else if (state == prop_atoms.openbox_wm_state_undecorated) {
|
||||||
|
@ -3267,6 +3269,12 @@ void client_set_state(ObClient *self, Atom action, glong data1, glong data2)
|
||||||
if (demands_attention != self->demands_attention)
|
if (demands_attention != self->demands_attention)
|
||||||
client_hilite(self, demands_attention);
|
client_hilite(self, demands_attention);
|
||||||
|
|
||||||
|
if (above != self->above || below != self->below) {
|
||||||
|
self->above = above;
|
||||||
|
self->below = below;
|
||||||
|
client_calc_layer(self);
|
||||||
|
}
|
||||||
|
|
||||||
client_change_state(self); /* change the hint to reflect these changes */
|
client_change_state(self); /* change the hint to reflect these changes */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue