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