sn_app_started(self->class);
+ /* update the focus lists, do this before the call to change_state or
+ it can end up in the list twice! */
+ focus_order_add_new(self);
+
client_change_state(self);
/* remove the client's border (and adjust re gravity) */
client_apply_startup_state(self);
- /* update the focus lists */
- focus_order_add_new(self);
-
stacking_add(CLIENT_AS_WINDOW(self));
client_restore_session_stacking(self);
/* this makes sure that these windows appear on all desktops */
if (self->type == OB_CLIENT_TYPE_DESKTOP)
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);
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))
+ client_normal(self) && client_normal(c))
{
layer = MAX(layer,
(c->above ? 1 : (c->below ? -1 : 0)));
else if (self->type == OB_CLIENT_TYPE_DOCK) {
if (self->above) l = OB_STACKING_LAYER_DOCK_ABOVE;
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->below) l = OB_STACKING_LAYER_BELOW;