1/*
2 * Internal bits for function handling
3 */
4
5#ifndef _CTWM_FUNCTIONS_INTERNAL_H
6#define _CTWM_FUNCTIONS_INTERNAL_H
7
8
9/* Keep in sync with ExecuteFunction() in external functions.h */
10#define EF_FULLPROTO \
11      int   func,   void *  action,   Window   w,   TwmWindow *  tmp_win, \
12      XEvent *  eventp,   int   context,   bool   pulldown
13#define EF_ARGS \
14    /*int */func, /*void **/action, /*Window */w, /*TwmWindow **/tmp_win, \
15    /*XEvent **/eventp, /*int */context, /*bool */pulldown
16
17typedef void (ExFunc)(EF_FULLPROTO);
18
19#define DFHANDLER(func) void f_##func##_impl(EF_FULLPROTO)
20
21
22/*
23 * Various handlers
24 */
25
26/* functions_icmgr_wsmgr.c */
27DFHANDLER(upiconmgr);
28DFHANDLER(downiconmgr);
29DFHANDLER(lefticonmgr);
30DFHANDLER(righticonmgr);
31DFHANDLER(forwiconmgr);
32DFHANDLER(backiconmgr);
33DFHANDLER(forwmapiconmgr);
34DFHANDLER(backmapiconmgr);
35DFHANDLER(nexticonmgr);
36DFHANDLER(previconmgr);
37DFHANDLER(showiconmgr);
38DFHANDLER(hideiconmgr);
39DFHANDLER(sorticonmgr);
40
41DFHANDLER(showworkspacemgr);
42DFHANDLER(hideworkspacemgr);
43DFHANDLER(toggleworkspacemgr);
44DFHANDLER(togglestate);
45DFHANDLER(setbuttonsstate);
46DFHANDLER(setmapstate);
47
48
49/* functions_win_moveresize.c */
50DFHANDLER(move);
51DFHANDLER(forcemove);
52DFHANDLER(movepack);
53DFHANDLER(movepush);
54DFHANDLER(pack);
55DFHANDLER(jumpleft);
56DFHANDLER(jumpright);
57DFHANDLER(jumpdown);
58DFHANDLER(jumpup);
59DFHANDLER(resize);
60DFHANDLER(zoom);
61DFHANDLER(horizoom);
62DFHANDLER(fullzoom);
63DFHANDLER(fullscreenzoom);
64DFHANDLER(leftzoom);
65DFHANDLER(rightzoom);
66DFHANDLER(topzoom);
67DFHANDLER(bottomzoom);
68DFHANDLER(xhorizoom);
69DFHANDLER(xfullzoom);
70DFHANDLER(xfullscreenzoom);
71DFHANDLER(xleftzoom);
72DFHANDLER(xrightzoom);
73DFHANDLER(xtopzoom);
74DFHANDLER(xbottomzoom);
75DFHANDLER(xzoom);
76DFHANDLER(fill);
77DFHANDLER(initsize);
78DFHANDLER(moveresize);
79DFHANDLER(changesize);
80DFHANDLER(savegeometry);
81DFHANDLER(restoregeometry);
82
83
84/* functions_workspaces.c */
85DFHANDLER(occupy);
86DFHANDLER(occupyall);
87DFHANDLER(addtoworkspace);
88DFHANDLER(removefromworkspace);
89DFHANDLER(toggleoccupation);
90DFHANDLER(vanish);
91DFHANDLER(warphere);
92DFHANDLER(movetonextworkspace);
93DFHANDLER(movetoprevworkspace);
94DFHANDLER(movetonextworkspaceandfollow);
95DFHANDLER(movetoprevworkspaceandfollow);
96DFHANDLER(gotoworkspace);
97DFHANDLER(prevworkspace);
98DFHANDLER(nextworkspace);
99DFHANDLER(rightworkspace);
100DFHANDLER(leftworkspace);
101DFHANDLER(upworkspace);
102DFHANDLER(downworkspace);
103
104
105#ifdef CAPTIVE
106/* functions_captive.c */
107DFHANDLER(adoptwindow);
108DFHANDLER(hypermove);
109#endif
110
111
112/* functions_identify.c */
113DFHANDLER(identify);
114DFHANDLER(version);
115
116
117/* functions_win.c */
118DFHANDLER(autoraise);
119DFHANDLER(autolower);
120DFHANDLER(raise);
121DFHANDLER(raiseorsqueeze);
122DFHANDLER(lower);
123DFHANDLER(raiselower);
124DFHANDLER(tinyraise);
125DFHANDLER(tinylower);
126DFHANDLER(circleup);
127DFHANDLER(circledown);
128DFHANDLER(deiconify);
129DFHANDLER(iconify);
130DFHANDLER(popup);
131DFHANDLER(focus);
132DFHANDLER(unfocus);
133DFHANDLER(delete);
134DFHANDLER(destroy);
135DFHANDLER(deleteordestroy);
136DFHANDLER(priorityswitching);
137DFHANDLER(switchpriority);
138DFHANDLER(setpriority);
139DFHANDLER(changepriority);
140DFHANDLER(saveyourself);
141DFHANDLER(colormap);
142DFHANDLER(refresh);
143DFHANDLER(winrefresh);
144DFHANDLER(squeeze);
145DFHANDLER(unsqueeze);
146DFHANDLER(movetitlebar);
147
148
149/* functions_warp.c */
150DFHANDLER(warpto);
151DFHANDLER(warptoiconmgr);
152DFHANDLER(ring);
153DFHANDLER(warpring);
154DFHANDLER(winwarp);
155
156
157/* functions_misc.c */
158DFHANDLER(startanimation);
159DFHANDLER(stopanimation);
160DFHANDLER(speedupanimation);
161DFHANDLER(slowdownanimation);
162DFHANDLER(menu);
163DFHANDLER(pin);
164DFHANDLER(altkeymap);
165DFHANDLER(altcontext);
166DFHANDLER(quit);
167DFHANDLER(restart);
168DFHANDLER(beep);
169DFHANDLER(trace);
170#ifdef WINBOX
171DFHANDLER(fittocontent);
172#endif
173DFHANDLER(showbackground);
174DFHANDLER(raiseicons);
175DFHANDLER(rescuewindows);
176DFHANDLER(warptoscreen);
177#ifdef SOUNDS
178DFHANDLER(togglesound);
179DFHANDLER(rereadsounds);
180#endif
181DFHANDLER(exec);
182
183
184
185/*
186 * Extra exported from functions_icmgr_wsmgr.c for use in
187 * f.delete{,ordestroy}.
188 */
189void HideIconManager(void);
190
191
192/* Several different sections of window handling need this */
193extern Time last_time;
194
195/* Several places need to frob this to leave the cursor alone */
196extern bool func_reset_cursor;
197
198#endif /* _CTWM_FUNCTIONS_INTERNAL_H */
199