]> Dogcows Code - chaz/openbox/blobdiff - openbox/slit.h
add anotehr stacking_add function.
[chaz/openbox] / openbox / slit.h
index f3fce18ecf5973f2b0612250ec87c8791f65d853..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,28 +60,21 @@ 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;
 
 void slit_startup();
 void slit_shutdown();
 
 void slit_configure_all();
+void slit_hide(Slit *self, gboolean hide);
 
-void slit_add(Window win, XWMHints *wmhints, XWindowAttributes *attrib);
+void slit_add(Window win, XWMHints *wmhints);
 
 void slit_remove_all();
 void slit_remove(SlitApp *app, gboolean reparent);
 
+void slit_app_drag(SlitApp *app, XMotionEvent *e);
+void slit_app_configure(SlitApp *app, int w, int h);
+
 #endif
This page took 0.024894 seconds and 4 git commands to generate.