don't get the layer from the group like that. let new windows go in their default layer. they are already kept above their parents.
This commit is contained in:
parent
f3424ddd3b
commit
4a34c7ddb2
1 changed files with 1 additions and 39 deletions
|
@ -73,7 +73,6 @@ static void client_get_session_ids(ObClient *self);
|
||||||
static void client_get_area(ObClient *self);
|
static void client_get_area(ObClient *self);
|
||||||
static void client_get_desktop(ObClient *self);
|
static void client_get_desktop(ObClient *self);
|
||||||
static void client_get_state(ObClient *self);
|
static void client_get_state(ObClient *self);
|
||||||
static void client_get_layer(ObClient *self);
|
|
||||||
static void client_get_shaped(ObClient *self);
|
static void client_get_shaped(ObClient *self);
|
||||||
static void client_get_mwm_hints(ObClient *self);
|
static void client_get_mwm_hints(ObClient *self);
|
||||||
static void client_get_colormap(ObClient *self);
|
static void client_get_colormap(ObClient *self);
|
||||||
|
@ -1004,6 +1003,7 @@ static void client_get_all(ObClient *self, gboolean real)
|
||||||
from per-app settings */
|
from per-app settings */
|
||||||
client_get_session_ids(self);
|
client_get_session_ids(self);
|
||||||
|
|
||||||
|
/* now we got everything that can affect the decorations */
|
||||||
if (!real)
|
if (!real)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -1019,9 +1019,6 @@ static void client_get_all(ObClient *self, gboolean real)
|
||||||
desktop is not specified */
|
desktop is not specified */
|
||||||
client_get_shaped(self);
|
client_get_shaped(self);
|
||||||
|
|
||||||
client_get_layer(self); /* if layer hasn't been specified, get it from
|
|
||||||
other sources if possible */
|
|
||||||
|
|
||||||
{
|
{
|
||||||
/* a couple type-based defaults for new windows */
|
/* a couple type-based defaults for new windows */
|
||||||
|
|
||||||
|
@ -1109,41 +1106,6 @@ static void client_get_desktop(ObClient *self)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void client_get_layer(ObClient *self)
|
|
||||||
{
|
|
||||||
if (!(self->above || self->below)) {
|
|
||||||
if (self->group) {
|
|
||||||
/* apply stuff from the group */
|
|
||||||
GSList *it;
|
|
||||||
gint layer = -2;
|
|
||||||
|
|
||||||
for (it = self->group->members; it; it = g_slist_next(it)) {
|
|
||||||
ObClient *c = it->data;
|
|
||||||
if (c != self && !client_search_transient(self, c) &&
|
|
||||||
client_normal(self) && client_normal(c))
|
|
||||||
{
|
|
||||||
layer = MAX(layer,
|
|
||||||
(c->above ? 1 : (c->below ? -1 : 0)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
switch (layer) {
|
|
||||||
case -1:
|
|
||||||
self->below = TRUE;
|
|
||||||
break;
|
|
||||||
case -2:
|
|
||||||
case 0:
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
self->above = TRUE;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
g_assert_not_reached();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void client_get_state(ObClient *self)
|
static void client_get_state(ObClient *self)
|
||||||
{
|
{
|
||||||
guint32 *state;
|
guint32 *state;
|
||||||
|
|
Loading…
Reference in a new issue