summaryrefslogtreecommitdiff
path: root/openbox/dock.h
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-05-16 18:10:10 +0000
committerDana Jansens <danakj@orodu.net>2003-05-16 18:10:10 +0000
commitb77e40e1c7710323aa59a778338d8e18b591f718 (patch)
tree48ae520439b10bffa5c63f3cc5a7230ccab06331 /openbox/dock.h
parent6e42b65bda1706887f3b2a7f9d79ba20f7611a06 (diff)
rename "Slit" to "Dock".
add config options to the rc3 for the dock. create a window_map, add DockApps to the ObWindow types, use the window_map for translating windows into objects for event handling (only one lookup now) and remove the old maps (client_map, menu_map).
Diffstat (limited to 'openbox/dock.h')
-rw-r--r--openbox/dock.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/openbox/dock.h b/openbox/dock.h
new file mode 100644
index 00000000..ef770769
--- /dev/null
+++ b/openbox/dock.h
@@ -0,0 +1,66 @@
+#ifndef __dock_h
+#define __dock_h
+
+#include "timer.h"
+#include "render/render.h"
+#include "window.h"
+#include "stacking.h"
+
+#include <glib.h>
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+
+typedef enum {
+ DockPos_Floating,
+ DockPos_TopLeft,
+ DockPos_Top,
+ DockPos_TopRight,
+ DockPos_Right,
+ DockPos_BottomRight,
+ DockPos_Bottom,
+ DockPos_BottomLeft,
+ DockPos_Left
+} DockPosition;
+
+typedef struct Dock {
+ ObWindow obwin;
+
+ Window frame;
+ Appearance *a_frame;
+
+ /* actual position (when not auto-hidden) */
+ int x, y;
+ int w, h;
+
+ gboolean hidden;
+ Timer *hide_timer;
+
+ GList *dock_apps;
+} Dock;
+
+typedef struct DockApp {
+ int ignore_unmaps;
+
+ Window icon_win;
+ Window win;
+ int x;
+ int y;
+ int w;
+ int h;
+} DockApp;
+
+void dock_startup();
+void dock_shutdown();
+
+void dock_configure();
+void dock_hide(gboolean hide);
+
+void dock_add(Window win, XWMHints *wmhints);
+
+void dock_remove_all();
+void dock_remove(DockApp *app, gboolean reparent);
+
+void dock_app_drag(DockApp *app, XMotionEvent *e);
+void dock_app_configure(DockApp *app, int w, int h);
+
+#endif