#ifndef __slit_h #define __slit_h #include "timer.h" #include "render/render.h" #include "window.h" #include "stacking.h" #include #include #include 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; Slit *slit; Window icon_win; Window win; int x; int y; int w; int h; } SlitApp; 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); 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