]> Dogcows Code - chaz/openbox/blob - openbox/slit.h
add anotehr stacking_add function.
[chaz/openbox] / openbox / slit.h
1 #ifndef __slit_h
2 #define __slit_h
3
4 #include "timer.h"
5 #include "render/render.h"
6 #include "window.h"
7 #include "stacking.h"
8
9 #include <glib.h>
10 #include <X11/Xlib.h>
11 #include <X11/Xutil.h>
12
13 typedef enum {
14 SlitPos_Floating,
15 SlitPos_TopLeft,
16 SlitPos_Top,
17 SlitPos_TopRight,
18 SlitPos_Right,
19 SlitPos_BottomRight,
20 SlitPos_Bottom,
21 SlitPos_BottomLeft,
22 SlitPos_Left
23 } SlitPosition;
24
25 typedef struct Slit {
26 ObWindow obwin;
27
28 Window frame;
29 StackLayer layer;
30
31 /* user-requested position stuff */
32 SlitPosition pos;
33 int gravity;
34 int user_x, user_y;
35
36 /* actual position (when not auto-hidden) */
37 int x, y;
38 int w, h;
39
40 gboolean horz;
41 gboolean hide;
42 gboolean hidden;
43
44 Appearance *a_frame;
45
46 Timer *hide_timer;
47
48 GList *slit_apps;
49 } Slit;
50
51 typedef struct SlitApp {
52 int ignore_unmaps;
53
54 Slit *slit;
55 Window icon_win;
56 Window win;
57 int x;
58 int y;
59 int w;
60 int h;
61 } SlitApp;
62
63 extern GHashTable *slit_map;
64 extern GHashTable *slit_app_map;
65
66 void slit_startup();
67 void slit_shutdown();
68
69 void slit_configure_all();
70 void slit_hide(Slit *self, gboolean hide);
71
72 void slit_add(Window win, XWMHints *wmhints);
73
74 void slit_remove_all();
75 void slit_remove(SlitApp *app, gboolean reparent);
76
77 void slit_app_drag(SlitApp *app, XMotionEvent *e);
78 void slit_app_configure(SlitApp *app, int w, int h);
79
80 #endif
This page took 0.04127 seconds and 4 git commands to generate.