1/*
2 * Functions related to window occupation and workspaces.  Not the
3 * workspace manager itself; that's off with the icon managers.
4 */
5
6#include "ctwm.h"
7
8#include "functions_internal.h"
9#include "screen.h"
10#include "occupation.h"
11#include "workspace_utils.h"
12
13
14
15/*
16 * Setting occupation on a specific window.
17 */
18DFHANDLER(occupy)
19{
20	Occupy(tmp_win);
21}
22
23DFHANDLER(occupyall)
24{
25	OccupyAll(tmp_win);
26}
27
28
29/*
30 * Selecting a window and passing a specific workspace as the function
31 * arg.
32 */
33DFHANDLER(addtoworkspace)
34{
35	AddToWorkSpace(action, tmp_win);
36}
37
38DFHANDLER(removefromworkspace)
39{
40	RemoveFromWorkSpace(action, tmp_win);
41}
42
43DFHANDLER(toggleoccupation)
44{
45	ToggleOccupation(action, tmp_win);
46}
47
48
49/*
50 * Pushing a window away from / pulling it to "here".
51 */
52DFHANDLER(vanish)
53{
54	WMgrRemoveFromCurrentWorkSpace(Scr->currentvs, tmp_win);
55}
56
57DFHANDLER(warphere)
58{
59	WMgrAddToCurrentWorkSpaceAndWarp(Scr->currentvs, action);
60}
61
62
63/*
64 * Pushing a window away somewhere and potentially following it.
65 */
66DFHANDLER(movetonextworkspace)
67{
68	MoveToNextWorkSpace(Scr->currentvs, tmp_win);
69}
70
71DFHANDLER(movetoprevworkspace)
72{
73	MoveToPrevWorkSpace(Scr->currentvs, tmp_win);
74}
75
76DFHANDLER(movetonextworkspaceandfollow)
77{
78	MoveToNextWorkSpaceAndFollow(Scr->currentvs, tmp_win);
79}
80
81DFHANDLER(movetoprevworkspaceandfollow)
82{
83	MoveToPrevWorkSpaceAndFollow(Scr->currentvs, tmp_win);
84}
85
86
87
88/*
89 * Switching to other workspaces.
90 */
91DFHANDLER(gotoworkspace)
92{
93	/*
94	 * n.b.: referenced in the Developer Manual in doc/devman/; if you
95	 * make any changes here be sure to tweak that if necessary.
96	 */
97	GotoWorkSpaceByName(Scr->currentvs, action);
98}
99
100DFHANDLER(prevworkspace)
101{
102	GotoPrevWorkSpace(Scr->currentvs);
103}
104
105DFHANDLER(nextworkspace)
106{
107	GotoNextWorkSpace(Scr->currentvs);
108}
109
110DFHANDLER(rightworkspace)
111{
112	GotoRightWorkSpace(Scr->currentvs);
113}
114
115DFHANDLER(leftworkspace)
116{
117	GotoLeftWorkSpace(Scr->currentvs);
118}
119
120DFHANDLER(upworkspace)
121{
122	GotoUpWorkSpace(Scr->currentvs);
123}
124
125DFHANDLER(downworkspace)
126{
127	GotoDownWorkSpace(Scr->currentvs);
128}
129