summaryrefslogtreecommitdiff
path: root/src/desktop.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/desktop.h')
-rw-r--r--src/desktop.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/desktop.h b/src/desktop.h
new file mode 100644
index 0000000..cc6df38
--- /dev/null
+++ b/src/desktop.h
@@ -0,0 +1,25 @@
+#ifndef _DESKTOP_H
+#define _DESKTOP_H
+
+#include "list.h"
+#include "window.h"
+
+typedef struct _vwm_t vwm_t;
+typedef struct _vwm_window_t vwm_window_t;
+
+typedef struct _vwm_desktop_t {
+ list_head_t desktops; /* global list of (virtual) desktops */
+ list_head_t desktops_mru; /* global list of (virtual) desktops in MRU order */
+ char *name; /* name of the desktop (TODO) */
+ vwm_window_t *focused_window; /* the focused window on this virtual desktop */
+} vwm_desktop_t;
+
+void vwm_desktop_mru(vwm_t *vwm, vwm_desktop_t *desktop);
+int vwm_desktop_focus(vwm_t *vwm, vwm_desktop_t *desktop);
+vwm_desktop_t * vwm_desktop_create(vwm_t *vwm, char *name);
+void vwm_desktop_destroy(vwm_t *vwm, vwm_desktop_t *desktop);
+vwm_desktop_t * vwm_desktop_next_mru(vwm_t *vwm, vwm_desktop_t *desktop);
+vwm_desktop_t * vwm_desktop_next(vwm_t *vwm, vwm_desktop_t *desktop);
+vwm_desktop_t * vwm_desktop_prev(vwm_t *vwm, vwm_desktop_t *desktop);
+
+#endif
© All Rights Reserved