summaryrefslogtreecommitdiff
path: root/openbox/slit.h
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/slit.h
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/slit.h')
-rw-r--r--openbox/slit.h55
1 files changed, 42 insertions, 13 deletions
diff --git a/openbox/slit.h b/openbox/slit.h
index 3dd3d3db..3cdcb309 100644
--- a/openbox/slit.h
+++ b/openbox/slit.h
@@ -1,11 +1,52 @@
#ifndef __slit_h
#define __slit_h
+#include "timer.h"
+#include "render/render.h"
+#include "window.h"
+#include "stacking.h"
+
#include <glib.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
-typedef struct Slit Slit;
+typedef enum {
+ SlitPos_Floating,
+ SlitPos_TopLeft,
+ SlitPos_Top,
+ SlitPos_TopRight,
+ SlitPos_Right,
+ SlitPos_BottomRight,
+ SlitPos_Bottom,
+ SlitPos_BottomLeft,
+ SlitPos_Left
+} SlitPosition;
+
+typedef struct Slit {
+ ObWindow obwin;
+
+ Window frame;
+ StackLayer layer;
+
+ /* user-requested position stuff */
+ SlitPosition pos;
+ int gravity;
+ int user_x, user_y;
+
+ /* actual position (when not auto-hidden) */
+ int x, y;
+ int w, h;
+
+ gboolean horz;
+ gboolean hide;
+ gboolean hidden;
+
+ Appearance *a_frame;
+
+ Timer *hide_timer;
+
+ GList *slit_apps;
+} Slit;
typedef struct SlitApp {
int ignore_unmaps;
@@ -19,18 +60,6 @@ typedef struct SlitApp {
int h;
} SlitApp;
-typedef enum {
- SlitPos_Floating,
- SlitPos_TopLeft,
- SlitPos_Top,
- SlitPos_TopRight,
- SlitPos_Right,
- SlitPos_BottomRight,
- SlitPos_Bottom,
- SlitPos_BottomLeft,
- SlitPos_Left
-} SlitPosition;
-
extern GHashTable *slit_map;
extern GHashTable *slit_app_map;