rename "Slit" to "Dock".
[mikachu/openbox.git] / openbox / dock.h
1 #ifndef __dock_h
2 #define __dock_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     DockPos_Floating,
15     DockPos_TopLeft,
16     DockPos_Top,
17     DockPos_TopRight,
18     DockPos_Right,
19     DockPos_BottomRight,
20     DockPos_Bottom,
21     DockPos_BottomLeft,
22     DockPos_Left
23 } DockPosition;
24
25 typedef struct Dock {
26     ObWindow obwin;
27
28     Window frame;
29     Appearance *a_frame;
30
31     /* actual position (when not auto-hidden) */
32     int x, y;
33     int w, h;
34
35     gboolean hidden;
36     Timer *hide_timer;
37
38     GList *dock_apps;
39 } Dock;
40
41 typedef struct DockApp {
42     int ignore_unmaps;
43
44     Window icon_win;
45     Window win;
46     int x;
47     int y;
48     int w;
49     int h;
50 } DockApp;
51
52 void dock_startup();
53 void dock_shutdown();
54
55 void dock_configure();
56 void dock_hide(gboolean hide);
57
58 void dock_add(Window win, XWMHints *wmhints);
59
60 void dock_remove_all();
61 void dock_remove(DockApp *app, gboolean reparent);
62
63 void dock_app_drag(DockApp *app, XMotionEvent *e);
64 void dock_app_configure(DockApp *app, int w, int h);
65
66 #endif