client_update_icons(self);
client_update_kwm_icon(self);
- /* this makes sure that these windows appear on all desktops */
- if (self->type == Type_Desktop)
- self->desktop = DESKTOP_ALL;
-
- /* set the desktop hint, to make sure that it always exists, and to
- reflect any changes we've made here */
- PROP_SET32(self->window, net_wm_desktop, cardinal, self->desktop);
-
client_change_state(self);
}
} else {
/* defaults to the current desktop */
self->desktop = screen_desktop;
+
+ /* set the desktop hint, to make sure that it always exists */
+ PROP_SET32(self->window, net_wm_desktop, cardinal, self->desktop);
}
}
else
self->type = Type_Normal;
}
+
+ /* this makes sure that these windows appear on all desktops */
+ if (self->type == Type_Desktop)
+ self->desktop = DESKTOP_ALL;
}
void client_update_protocols(Client *self)
ur = TRUE;
if (!(hints->flags & WindowGroupHint))
- hints->window_group = None; /* no group */
+ hints->window_group = None;
+
/* did the group state change? */
- if (hints->window_group != (self->group ? self->group->leader : None)){
+ if (hints->window_group !=
+ (self->group ? self->group->leader : None)) {
/* remove from the old group if there was one */
if (self->group != NULL) {
- group_remove(self->group, self);
-
/* remove transients of the group */
for (it = self->group->members; it; it = it->next)
if (it->data != self &&
self->transients = g_slist_remove(self->transients,
it->data);
}
+ group_remove(self->group, self);
self->group = NULL;
}
- if (hints->window_group != None)
+ if (hints->window_group != None) {
self->group = group_add(hints->window_group, self);
- /* add other transients of the group that are already set up */
- for (it = self->group->members; it; it = it->next)
- if (it->data != self &&
- ((Client*)it->data)->transient_for == TRAN_GROUP)
- self->transients = g_slist_append(self->transients,
- it->data);
+ /* add other transients of the group that are already
+ set up */
+ for (it = self->group->members; it; it = it->next)
+ if (it->data != self &&
+ ((Client*)it->data)->transient_for == TRAN_GROUP)
+ self->transients = g_slist_append(self->transients,
+ it->data);
+ }
/* because the self->transient flag wont change from this call,
we don't need to update the window's type and such, only its
- transient_for, and the transients lists of other windows in the
- group may be affected */
+ transient_for, and the transients lists of other windows in
+ the group may be affected */
client_update_transient_for(self);
}
- if (hints->flags & IconPixmapHint) {
- client_update_kwm_icon(self);
- /* try get the kwm icon first, this is a fallback only */
- if (self->pixmap_icon == None) {
- self->pixmap_icon = hints->icon_pixmap;
- if (hints->flags & IconMaskHint)
- self->pixmap_icon_mask = hints->icon_mask;
- else
- self->pixmap_icon_mask = None;
-
- if (self->frame)
- frame_adjust_icon(self->frame);
- }
+ client_update_kwm_icon(self);
+ /* try get the kwm icon first, this is a fallback only */
+ if (self->pixmap_icon == None) {
+ if (hints->flags & IconPixmapHint) {
+ if (self->pixmap_icon == None) {
+ self->pixmap_icon = hints->icon_pixmap;
+ if (hints->flags & IconMaskHint)
+ self->pixmap_icon_mask = hints->icon_mask;
+ else
+ self->pixmap_icon_mask = None;
+
+ if (self->frame)
+ frame_adjust_icon(self->frame);
+ }
+ }
}
XFree(hints);