fbd5e1693d404fd5a8859d36aab3ce2260730966
[dana/openbox.git] / openbox / dock.h
1 #ifndef __dock_h
2 #define __dock_h
3
4 #include "window.h"
5 #include "stacking.h"
6 #include "geom.h"
7 #include "render/render.h"
8
9 #include <glib.h>
10 #include <X11/Xlib.h>
11 #include <X11/Xutil.h>
12
13 typedef struct _ObDock    ObDock;
14 typedef struct _ObDockApp ObDockApp;
15
16 struct _ObDock
17 {
18     ObWindow obwin;
19
20     Window frame;
21     RrAppearance *a_frame;
22
23     /* actual position (when not auto-hidden) */
24     gint x;
25     gint y;
26     gint w;
27     gint h;
28
29     gboolean hidden;
30
31     GList *dock_apps;
32 };
33
34 struct _ObDockApp {
35     ObWindow obwin;
36
37     gint ignore_unmaps;
38
39     Window icon_win;
40     Window win;
41
42     gchar *name;
43     gchar *class;
44
45     gint x;
46     gint y;
47     gint w;
48     gint h;
49 };
50
51 extern StrutPartial dock_strut;
52
53 void dock_startup();
54 void dock_shutdown();
55
56 void dock_configure();
57 void dock_hide(gboolean hide);
58
59 void dock_add(Window win, XWMHints *wmhints);
60
61 void dock_remove_all();
62 void dock_remove(ObDockApp *app, gboolean reparent);
63
64 void dock_app_drag(ObDockApp *app, XMotionEvent *e);
65 void dock_app_configure(ObDockApp *app, gint w, gint h);
66
67 #endif