From 4642216f70dd98134a79f9299b7ca4bc876649c7 Mon Sep 17 00:00:00 2001 From: Vito Caputo Date: Sun, 28 Aug 2016 00:36:53 -0700 Subject: *: refactor all the things Long overdue house cleaning. The addition of compositing/monitoring overlays in vwm3 pushed vwm well past what is a reasonable size for a simple thousand line file. This is a first step towards restoring sanity in the code, but no behavioral differences are intended, this is mostly just shuffling around and organizing code. I expect some performance regressions initially, follow-on commits will make more improvements to that end as the dust settles. --- src/desktop.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/desktop.h (limited to 'src/desktop.h') 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 -- cgit v1.2.3