can drag slit-apps around in the slit
[dana/openbox.git] / openbox / slit.h
1 #ifndef __slit_h
2 #define __slit_h
3
4 #include <glib.h>
5 #include <X11/Xlib.h>
6 #include <X11/Xutil.h>
7
8 typedef struct Slit Slit;
9
10 typedef struct SlitApp {
11     int ignore_unmaps;
12
13     Slit *slit;
14     Window icon_win;
15     Window win;
16     int x;
17     int y;
18     int w;
19     int h;
20 } SlitApp;
21
22 typedef enum {
23     SlitPos_Floating,
24     SlitPos_TopLeft,
25     SlitPos_Top,
26     SlitPos_TopRight,
27     SlitPos_Right,
28     SlitPos_BottomRight,
29     SlitPos_Bottom,
30     SlitPos_BottomLeft,
31     SlitPos_Left
32 } SlitPosition;
33
34 extern GHashTable *slit_map;
35 extern GHashTable *slit_app_map;
36
37 void slit_startup();
38 void slit_shutdown();
39
40 void slit_configure_all();
41 void slit_hide(Slit *self, gboolean hide);
42
43 void slit_add(Window win, XWMHints *wmhints, XWindowAttributes *attrib);
44
45 void slit_remove_all();
46 void slit_remove(SlitApp *app, gboolean reparent);
47
48 void slit_app_drag(SlitApp *app, XMotionEvent *e);
49 void slit_app_configure(SlitApp *app, int w, int h);
50
51 #endif