both must be normal to inherit above/below

This commit is contained in:
Dana Jansens 2003-10-15 16:14:29 +00:00
parent 2e90dfbfec
commit 5749f109f9

View file

@ -727,10 +727,6 @@ static void client_get_all(ObClient *self)
/* this makes sure that these windows appear on all desktops */ /* this makes sure that these windows appear on all desktops */
if (self->type == OB_CLIENT_TYPE_DESKTOP) if (self->type == OB_CLIENT_TYPE_DESKTOP)
self->desktop = DESKTOP_ALL; self->desktop = DESKTOP_ALL;
/* dock windows default to ABOVE */
if (self->type == OB_CLIENT_TYPE_DOCK && !self->below)
self->above = TRUE;
} }
client_update_protocols(self); client_update_protocols(self);
@ -859,7 +855,7 @@ static void client_get_state(ObClient *self)
for (it = self->group->members; it; it = g_slist_next(it)) { for (it = self->group->members; it; it = g_slist_next(it)) {
ObClient *c = it->data; ObClient *c = it->data;
if (c != self && !client_search_transient(self, c) && if (c != self && !client_search_transient(self, c) &&
client_normal(self) == client_normal(c)) client_normal(self) && client_normal(c))
{ {
layer = MAX(layer, layer = MAX(layer,
(c->above ? 1 : (c->below ? -1 : 0))); (c->above ? 1 : (c->below ? -1 : 0)));
@ -1764,7 +1760,7 @@ static ObStackingLayer calc_layer(ObClient *self)
else if (self->type == OB_CLIENT_TYPE_DOCK) { else if (self->type == OB_CLIENT_TYPE_DOCK) {
if (self->above) l = OB_STACKING_LAYER_DOCK_ABOVE; if (self->above) l = OB_STACKING_LAYER_DOCK_ABOVE;
else if (self->below) l = OB_STACKING_LAYER_DOCK_BELOW; else if (self->below) l = OB_STACKING_LAYER_DOCK_BELOW;
else l = OB_STACKING_LAYER_NORMAL; else l = OB_STACKING_LAYER_DOCK_NORMAL;
} }
else if (self->above) l = OB_STACKING_LAYER_ABOVE; else if (self->above) l = OB_STACKING_LAYER_ABOVE;
else if (self->below) l = OB_STACKING_LAYER_BELOW; else if (self->below) l = OB_STACKING_LAYER_BELOW;