summaryrefslogtreecommitdiff
path: root/src/desktop.h
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@gnugeneration.com>2016-09-09 14:20:28 -0700
committerGitHub <noreply@github.com>2016-09-09 14:20:28 -0700
commita1aba8e0fe5c94ebf04258b609666c92b756954f (patch)
treefe9792b77766e31728b1d2d04d2461858ef45443 /src/desktop.h
parente99f5ac1293a0ae1f498bc4c73c4c04e4edb8665 (diff)
parent8ef5fccc1ad2f5acb5530a438de631153e4ad945 (diff)
Merge pull request #6 from vcaputo/clean_house
House cleaning
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