summaryrefslogtreecommitdiff
path: root/openbox/window.h
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-05-11 23:31:43 +0000
committerDana Jansens <danakj@orodu.net>2003-05-11 23:31:43 +0000
commit7c7868f47d42796a236c9a1813bed5fe9f0d4f41 (patch)
tree0b9d71986738ed2a4a13071fabe538f2f813c7df /openbox/window.h
parentfed4a9e70b516a404ebf93024a32d849f81a8e7d (diff)
add internal popups n shit to the stacking list.
some cleanups for the stacking order hint. add non-opaque move/resize. cant toggle it yet.
Diffstat (limited to 'openbox/window.h')
-rw-r--r--openbox/window.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/openbox/window.h b/openbox/window.h
index 409697c1..150323c7 100644
--- a/openbox/window.h
+++ b/openbox/window.h
@@ -6,16 +6,25 @@
typedef enum {
Window_Menu,
Window_Slit,
- Window_Client
+ Window_Client,
+ Window_Internal
} Window_InternalType;
typedef struct ObWindow {
Window_InternalType type;
} ObWindow;
+/* Wrapper for internal stuff. If its struct matches this then it can be used
+ as an ObWindow */
+typedef struct InternalWindow {
+ ObWindow obwin;
+ Window win;
+} InternalWindow;
+
#define WINDOW_IS_MENU(win) (((ObWindow*)win)->type == Window_Menu)
#define WINDOW_IS_SLIT(win) (((ObWindow*)win)->type == Window_Slit)
#define WINDOW_IS_CLIENT(win) (((ObWindow*)win)->type == Window_Client)
+#define WINDOW_IS_INTERNAL(win) (((ObWindow*)win)->type == Window_Internal)
struct Menu;
struct Slit;
@@ -24,10 +33,12 @@ struct Client;
#define WINDOW_AS_MENU(win) ((struct Menu*)win)
#define WINDOW_AS_SLIT(win) ((struct Slit*)win)
#define WINDOW_AS_CLIENT(win) ((struct Client*)win)
+#define WINDOW_AS_INTERNAL(win) ((struct InternalWindow*)win)
#define MENU_AS_WINDOW(menu) ((ObWindow*)menu)
#define SLIT_AS_WINDOW(slit) ((ObWindow*)slit)
#define CLIENT_AS_WINDOW(client) ((ObWindow*)client)
+#define INTERNAL_AS_WINDOW(intern) ((ObWindow*)intern)
Window window_top(ObWindow *self);
Window window_layer(ObWindow *self);