all repos — openbox @ aae4f66f68b32c8ad2760eeb12ebb9cb3d44602a

openbox fork - make it a bit more like ryudo

recalc the layer when above/below changes
Dana Jansens danakj@orodu.net
commit

aae4f66f68b32c8ad2760eeb12ebb9cb3d44602a

parent

cc9ef6f22d5264a2a6b3c88558134d43ef8d34ea

1 files changed, 14 insertions(+), 6 deletions(-)

jump to
M openbox/client.copenbox/client.c

@@ -3115,6 +3115,8 @@ gboolean max_vert = self->max_vert;

gboolean modal = self->modal; gboolean iconic = self->iconic; gboolean demands_attention = self->demands_attention; + gboolean above = self->above; + gboolean below = self->below; gint i; if (!(action == prop_atoms.net_wm_state_add ||

@@ -3191,11 +3193,11 @@ iconic = TRUE;

} else if (state == prop_atoms.net_wm_state_fullscreen) { fullscreen = TRUE; } else if (state == prop_atoms.net_wm_state_above) { - self->above = TRUE; - self->below = FALSE; + above = TRUE; + below = FALSE; } else if (state == prop_atoms.net_wm_state_below) { - self->above = FALSE; - self->below = TRUE; + above = FALSE; + below = TRUE; } else if (state == prop_atoms.net_wm_state_demands_attention) { demands_attention = TRUE; } else if (state == prop_atoms.openbox_wm_state_undecorated) {

@@ -3220,9 +3222,9 @@ iconic = FALSE;

} else if (state == prop_atoms.net_wm_state_fullscreen) { fullscreen = FALSE; } else if (state == prop_atoms.net_wm_state_above) { - self->above = FALSE; + above = FALSE; } else if (state == prop_atoms.net_wm_state_below) { - self->below = FALSE; + below = FALSE; } else if (state == prop_atoms.net_wm_state_demands_attention) { demands_attention = FALSE; } else if (state == prop_atoms.openbox_wm_state_undecorated) {

@@ -3266,6 +3268,12 @@ client_iconify(self, iconic, FALSE);

if (demands_attention != 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 */ }