summaryrefslogtreecommitdiff
path: root/src/desktop.h
blob: 597adb801ded3e37f7dc8e89012a3b74dc102fe9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef _DESKTOP_H
#define _DESKTOP_H

#include "direction.h"
#include "list.h"
#include "window.h"

typedef struct _vwm_t vwm_t;
typedef struct _vwm_window_t vwm_window_t;
typedef struct _vwm_context_t vwm_context_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 */
	vwm_context_t	*context;		/* context this desktop belongs to */
	vwm_window_t	*focused_window;	/* the focused window on this virtual desktop */
} vwm_desktop_t;

vwm_desktop_t * 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, vwm_context_t *context);
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_direction_t direction);
vwm_desktop_t * vwm_desktop_next(vwm_t *vwm, vwm_desktop_t *desktop, vwm_direction_t direction);

#endif
© All Rights Reserved