X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fwindow.c;h=ed139b64e04483030e908e0bff9ee16deeb1377d;hb=2b2beddc7447197d12fcbcae96772e1f38eef138;hp=90de822faf17fce87f8de60e588cc8da0def1deb;hpb=58cfbb7f8419e084af6b6b8b00c88ed270c29e88;p=chaz%2Fopenbox diff --git a/openbox/window.c b/openbox/window.c index 90de822f..ed139b64 100644 --- a/openbox/window.c +++ b/openbox/window.c @@ -1,18 +1,37 @@ #include "window.h" #include "menu.h" -#include "slit.h" +#include "config.h" +#include "dock.h" #include "client.h" #include "frame.h" +GHashTable *window_map; + +void window_startup() +{ + window_map = g_hash_table_new(g_int_hash, g_int_equal); +} + +void window_shutdown() +{ + g_hash_table_destroy(window_map); +} + Window window_top(ObWindow *self) { switch (self->type) { case Window_Menu: return ((Menu*)self)->frame; - case Window_Slit: - return ((Slit*)self)->frame; + case Window_Dock: + return ((Dock*)self)->frame; + case Window_DockApp: + /* not to be used for stacking */ + g_assert_not_reached(); + break; case Window_Client: return ((Client*)self)->frame->window; + case Window_Internal: + return ((InternalWindow*)self)->win; } g_assert_not_reached(); return None; @@ -23,10 +42,16 @@ Window window_layer(ObWindow *self) switch (self->type) { case Window_Menu: return Layer_Internal; - case Window_Slit: - return ((Slit*)self)->layer; + case Window_Dock: + return config_dock_layer; + case Window_DockApp: + /* not to be used for stacking */ + g_assert_not_reached(); + break; case Window_Client: return ((Client*)self)->layer; + case Window_Internal: + return Layer_Internal; } g_assert_not_reached(); return None;