aboutsummaryrefslogtreecommitdiff
path: root/src/desktop.h
blob: b8e3312fec1623d46a225feef885234d182cf439 (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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/**
 * @file desktop.h
 * @author Joe Wingbermuehle
 * @date 2004-2006
 *
 * @brief Header for the desktop management functions.
 *
 */

#ifndef DESKTOP_H
#define DESKTOP_H

struct MenuType;

extern char **desktopNames;

/*@{*/
void InitializeDesktops();
void StartupDesktops();
void ShutdownDesktops();
void DestroyDesktops();
/*@}*/

/** Switch to the next desktop. */
void NextDesktop();

/** Switch to the previous desktop. */
void PreviousDesktop();

/** Switch to a specific desktop.
 * @param desktop The desktop to show (0 based).
 */
void ChangeDesktop(unsigned int desktop);

/** Toggle the "show desktop" state.
 * This will either minimize or restore all items on the current desktop.
 */
void ShowDesktop();

/** Create a menu containing a list of desktops.
 * @param mask A bit mask of desktops to highlight.
 * @return A menu containing all the desktops.
 */
struct Menu *CreateDesktopMenu(unsigned int mask);

/** Set the number of desktops.
 * This is called before startup.
 * @param str ASCII representation of the number of desktops.
 */
void SetDesktopCount(const char *str);

/** Set the name of a desktop.
 * This is called before startup.
 * @param desktop The desktop to name (0 based).
 * @param str The name to assign.
 */
void SetDesktopName(unsigned int desktop, const char *str);

#endif