X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fslit.h;h=3cdcb3096d0879cd404df373ea7d2277153e26c2;hb=6e42b65bda1706887f3b2a7f9d79ba20f7611a06;hp=0d4ffa938364300887828ed37bb1401ae3768f81;hpb=ed4f84ac33765eee594ad6771df38768afd842a4;p=chaz%2Fopenbox diff --git a/openbox/slit.h b/openbox/slit.h index 0d4ffa93..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 #include #include -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; @@ -40,7 +69,7 @@ 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);