add internal popups n shit to the stacking list.
[mikachu/openbox.git] / openbox / window.c
1 #include "window.h"
2 #include "menu.h"
3 #include "slit.h"
4 #include "client.h"
5 #include "frame.h"
6
7 Window window_top(ObWindow *self)
8 {
9     switch (self->type) {
10     case Window_Menu:
11         return ((Menu*)self)->frame;
12     case Window_Slit:
13         return ((Slit*)self)->frame;
14     case Window_Client:
15         return ((Client*)self)->frame->window;
16     case Window_Internal:
17         return ((InternalWindow*)self)->win;
18     }
19     g_assert_not_reached();
20     return None;
21 }
22
23 Window window_layer(ObWindow *self)
24 {
25     switch (self->type) {
26     case Window_Menu:
27         return Layer_Internal;
28     case Window_Slit:
29         return ((Slit*)self)->layer;
30     case Window_Client:
31         return ((Client*)self)->layer;
32     case Window_Internal:
33         return Layer_Internal;
34     }
35     g_assert_not_reached();
36     return None;
37 }