diff options
author | Vito Caputo <vcaputo@gnugeneration.com> | 2016-08-28 00:36:53 -0700 |
---|---|---|
committer | Vito Caputo <vcaputo@gnugeneration.com> | 2016-09-09 14:14:31 -0700 |
commit | 4642216f70dd98134a79f9299b7ca4bc876649c7 (patch) | |
tree | bdf9fd892bc54a2f2a678a9828c6af9d9fc8bed2 /src/desktop.h | |
parent | e99f5ac1293a0ae1f498bc4c73c4c04e4edb8665 (diff) |
*: 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.
Diffstat (limited to 'src/desktop.h')
-rw-r--r-- | src/desktop.h | 25 |
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 |