w = startup_stack_order[i-1];
c = g_hash_table_lookup(client_map, &w);
- if (c) stacking_lower(c);
+ if (c) stacking_lower(CLIENT_AS_WINDOW(c));
}
g_free(startup_stack_order);
startup_stack_order = NULL;
/* create the Client struct, and populate it from the hints on the
window */
self = g_new(Client, 1);
+ self->obwin.type = Window_Client;
self->window = window;
client_get_all(self);
grab_server(FALSE);
client_list = g_list_append(client_list, self);
- stacking_list = g_list_append(stacking_list, self);
+ stacking_add(self);
g_assert(!g_hash_table_lookup(client_map, &self->window));
g_hash_table_insert(client_map, &self->window, self);
/* update the focus lists */
focus_order_add_new(self);
- stacking_raise(self);
+ stacking_raise(CLIENT_AS_WINDOW(self));
screen_update_struts();
frame_hide(self->frame);
client_list = g_list_remove(client_list, self);
- stacking_list = g_list_remove(stacking_list, self);
+ stacking_remove(self);
g_hash_table_remove(client_map, &self->window);
/* update the focus lists */
{
StackLayer l;
- if (self->iconic) l = Layer_Icon;
- else if (self->fullscreen) l = Layer_Fullscreen;
+ if (self->fullscreen) l = Layer_Fullscreen;
else if (self->type == Type_Desktop) l = Layer_Desktop;
else if (self->type == Type_Dock) {
if (!self->below) l = Layer_Top;
if (!raised && l != old)
if (orig->frame) /* only restack if the original window is managed */
- stacking_raise(self);
+ stacking_raise(CLIENT_AS_WINDOW(self));
}
void client_calc_layer(Client *self)
client_showhide(self);
/* raise if it was not already on the desktop */
if (old != DESKTOP_ALL)
- stacking_raise(self);
+ stacking_raise(CLIENT_AS_WINDOW(self));
screen_update_struts();
/* add to the new desktop(s) */
if (self->shaded)
client_shade(self, FALSE);
client_focus(self);
- stacking_raise(self);
+ stacking_raise(CLIENT_AS_WINDOW(self));
}
gboolean client_focused(Client *self)