]> Dogcows Code - chaz/openbox/blobdiff - openbox/dock.h
rename "Slit" to "Dock".
[chaz/openbox] / openbox / dock.h
diff --git a/openbox/dock.h b/openbox/dock.h
new file mode 100644 (file)
index 0000000..ef77076
--- /dev/null
@@ -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
This page took 0.021213 seconds and 4 git commands to generate.