]> Dogcows Code - chaz/openbox/blobdiff - openbox/slit.h
add anotehr stacking_add function.
[chaz/openbox] / openbox / slit.h
index 3dd3d3db0d71fbfd49a52d36be83a25ecebff146..3cdcb3096d0879cd404df373ea7d2277153e26c2 100644 (file)
@@ -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;
 
This page took 0.022001 seconds and 4 git commands to generate.