summaryrefslogtreecommitdiff
path: root/openbox/client.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-05-11 19:44:33 +0000
committerDana Jansens <danakj@orodu.net>2003-05-11 19:44:33 +0000
commit58cfbb7f8419e084af6b6b8b00c88ed270c29e88 (patch)
tree6d786e87e1fb369d94522a69d0b3f2c694a8ed4e /openbox/client.c
parent506122a110035f810c7d25225661973845a59c62 (diff)
Clients Menus and Slits are all 'ObWindow's now.
Stacking is done with ObWindows. Slits add themselves to the stacking order, as do clients of course. Added some macros for adding/removing to the stacking order.
Diffstat (limited to 'openbox/client.c')
-rw-r--r--openbox/client.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/openbox/client.c b/openbox/client.c
index 3389fdc6..6cd8454b 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -158,7 +158,7 @@ void client_manage_all()
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;
@@ -222,6 +222,7 @@ void client_manage(Window window)
/* 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);
@@ -242,14 +243,14 @@ void client_manage(Window window)
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();
@@ -336,7 +337,7 @@ void client_unmanage(Client *self)
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 */
@@ -1455,8 +1456,7 @@ static StackLayer calc_layer(Client *self)
{
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;
@@ -1484,7 +1484,7 @@ static void calc_recursive(Client *self, Client *orig, StackLayer l,
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)
@@ -2028,7 +2028,7 @@ void client_set_desktop(Client *self, guint target, gboolean donthide)
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) */
@@ -2310,7 +2310,7 @@ void client_activate(Client *self)
if (self->shaded)
client_shade(self, FALSE);
client_focus(self);
- stacking_raise(self);
+ stacking_raise(CLIENT_AS_WINDOW(self));
}
gboolean client_focused(Client *self)