~ctwm/ctwm/trunk

528.1.39 by Matthew Fuller
Setup macros for the definition and calling of these function
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
535.1.1 by Matthew Fuller
Create a typedef for these execute function bits and use it for
17
typedef void (ExFunc)(EF_FULLPROTO);
18
535.1.3 by Matthew Fuller
Add some stub implementations for f.nop, title, deltastop, and
19
#define DFHANDLER(func) void f_##func##_impl(EF_FULLPROTO)
20
528.1.39 by Matthew Fuller
Setup macros for the definition and calling of these function
21
535.1.11 by Matthew Fuller
Create a separate file for iconmgr/wsmgr functions, and move the first
22
/*
23
 * Various handlers
24
 */
25
26
/* functions_icmgr_wsmgr.c */
27
DFHANDLER(upiconmgr);
28
DFHANDLER(downiconmgr);
29
DFHANDLER(lefticonmgr);
30
DFHANDLER(righticonmgr);
31
DFHANDLER(forwiconmgr);
32
DFHANDLER(backiconmgr);
33
DFHANDLER(forwmapiconmgr);
34
DFHANDLER(backmapiconmgr);
35
DFHANDLER(nexticonmgr);
36
DFHANDLER(previconmgr);
535.1.13 by Matthew Fuller
Split out show/hideiconmgr into handler functions. The internals of
37
DFHANDLER(showiconmgr);
38
DFHANDLER(hideiconmgr);
535.1.14 by Matthew Fuller
And pull out f.sorticonmgr.
39
DFHANDLER(sorticonmgr);
40
535.1.21 by Matthew Fuller
Migrate these workspacemanager handling things into named and
41
DFHANDLER(showworkspacemgr);
42
DFHANDLER(hideworkspacemgr);
43
DFHANDLER(toggleworkspacemgr);
44
DFHANDLER(togglestate);
45
DFHANDLER(setbuttonsstate);
46
DFHANDLER(setmapstate);
47
48
535.1.24 by Matthew Fuller
Pull the first few window move/resize related funcs out into a new
49
/* functions_win_moveresize.c */
535.1.25 by Matthew Fuller
Move the geometry save/restore and the various window move functions
50
DFHANDLER(move);
51
DFHANDLER(forcemove);
52
DFHANDLER(movepack);
53
DFHANDLER(movepush);
535.1.39 by Matthew Fuller
Rearrange these prototypes to match their order in the file.
54
DFHANDLER(pack);
55
DFHANDLER(jumpleft);
56
DFHANDLER(jumpright);
57
DFHANDLER(jumpdown);
58
DFHANDLER(jumpup);
59
DFHANDLER(resize);
535.1.28 by Matthew Fuller
Pull out the zooming resize funcs.
60
DFHANDLER(zoom);
61
DFHANDLER(horizoom);
62
DFHANDLER(fullzoom);
63
DFHANDLER(fullscreenzoom);
64
DFHANDLER(leftzoom);
65
DFHANDLER(rightzoom);
66
DFHANDLER(topzoom);
67
DFHANDLER(bottomzoom);
614.1.15 by Maxime Soulé
Old f.*zoom functions now limited to current monitor
68
DFHANDLER(xhorizoom);
69
DFHANDLER(xfullzoom);
70
DFHANDLER(xfullscreenzoom);
71
DFHANDLER(xleftzoom);
72
DFHANDLER(xrightzoom);
73
DFHANDLER(xtopzoom);
74
DFHANDLER(xbottomzoom);
75
DFHANDLER(xzoom);
535.1.33 by Matthew Fuller
Pull out f.fill and its backing func.
76
DFHANDLER(fill);
535.1.39 by Matthew Fuller
Rearrange these prototypes to match their order in the file.
77
DFHANDLER(initsize);
78
DFHANDLER(moveresize);
79
DFHANDLER(changesize);
80
DFHANDLER(savegeometry);
81
DFHANDLER(restoregeometry);
535.1.24 by Matthew Fuller
Pull the first few window move/resize related funcs out into a new
82
83
535.1.42 by Matthew Fuller
Grab a block of workspaces/occupation functions, move them off into
84
/* functions_workspaces.c */
535.1.45 by Matthew Fuller
Reorder and comment so these are grouped a little better.
85
DFHANDLER(occupy);
86
DFHANDLER(occupyall);
535.1.42 by Matthew Fuller
Grab a block of workspaces/occupation functions, move them off into
87
DFHANDLER(addtoworkspace);
88
DFHANDLER(removefromworkspace);
89
DFHANDLER(toggleoccupation);
535.1.45 by Matthew Fuller
Reorder and comment so these are grouped a little better.
90
DFHANDLER(vanish);
91
DFHANDLER(warphere);
535.1.42 by Matthew Fuller
Grab a block of workspaces/occupation functions, move them off into
92
DFHANDLER(movetonextworkspace);
93
DFHANDLER(movetoprevworkspace);
94
DFHANDLER(movetonextworkspaceandfollow);
95
DFHANDLER(movetoprevworkspaceandfollow);
535.1.44 by Matthew Fuller
Pull out the next block of occupation/workspace bits.
96
DFHANDLER(gotoworkspace);
97
DFHANDLER(prevworkspace);
98
DFHANDLER(nextworkspace);
99
DFHANDLER(rightworkspace);
100
DFHANDLER(leftworkspace);
101
DFHANDLER(upworkspace);
102
DFHANDLER(downworkspace);
535.1.42 by Matthew Fuller
Grab a block of workspaces/occupation functions, move them off into
103
104
701 by Matthew Fuller
#ifdef around prototyping captive-related functions.
105
#ifdef CAPTIVE
535.1.46 by Matthew Fuller
Pull out the captive-related functions.
106
/* functions_captive.c */
107
DFHANDLER(adoptwindow);
108
DFHANDLER(hypermove);
701 by Matthew Fuller
#ifdef around prototyping captive-related functions.
109
#endif
535.1.46 by Matthew Fuller
Pull out the captive-related functions.
110
111
535.1.49 by Matthew Fuller
Move f.identify/f.version handlers into dispatched functions in their
112
/* functions_identify.c */
113
DFHANDLER(identify);
114
DFHANDLER(version);
115
116
535.1.50 by Matthew Fuller
Pull most of the rest of the window-related functions out into a
117
/* functions_win.c */
118
DFHANDLER(autoraise);
119
DFHANDLER(autolower);
535.1.52 by Matthew Fuller
Reorder and sectionalize functions_win.c so they're organized a bit
120
DFHANDLER(raise);
121
DFHANDLER(raiseorsqueeze);
122
DFHANDLER(lower);
535.1.50 by Matthew Fuller
Pull most of the rest of the window-related functions out into a
123
DFHANDLER(raiselower);
124
DFHANDLER(tinyraise);
125
DFHANDLER(tinylower);
535.1.52 by Matthew Fuller
Reorder and sectionalize functions_win.c so they're organized a bit
126
DFHANDLER(circleup);
127
DFHANDLER(circledown);
128
DFHANDLER(deiconify);
129
DFHANDLER(iconify);
535.1.59 by Matthew Fuller
f.popup is pretty much a variant of f.deiconify, so let's move it over
130
DFHANDLER(popup);
535.1.50 by Matthew Fuller
Pull most of the rest of the window-related functions out into a
131
DFHANDLER(focus);
535.1.52 by Matthew Fuller
Reorder and sectionalize functions_win.c so they're organized a bit
132
DFHANDLER(unfocus);
133
DFHANDLER(delete);
535.1.50 by Matthew Fuller
Pull most of the rest of the window-related functions out into a
134
DFHANDLER(destroy);
135
DFHANDLER(deleteordestroy);
535.1.52 by Matthew Fuller
Reorder and sectionalize functions_win.c so they're organized a bit
136
DFHANDLER(priorityswitching);
137
DFHANDLER(switchpriority);
138
DFHANDLER(setpriority);
139
DFHANDLER(changepriority);
535.1.50 by Matthew Fuller
Pull most of the rest of the window-related functions out into a
140
DFHANDLER(saveyourself);
141
DFHANDLER(colormap);
142
DFHANDLER(refresh);
143
DFHANDLER(winrefresh);
535.1.52 by Matthew Fuller
Reorder and sectionalize functions_win.c so they're organized a bit
144
DFHANDLER(squeeze);
145
DFHANDLER(unsqueeze);
146
DFHANDLER(movetitlebar);
535.1.50 by Matthew Fuller
Pull most of the rest of the window-related functions out into a
147
535.1.13 by Matthew Fuller
Split out show/hideiconmgr into handler functions. The internals of
148
535.1.53 by Matthew Fuller
Pull out warping funcs to their own file.
149
/* functions_warp.c */
150
DFHANDLER(warpto);
151
DFHANDLER(warptoiconmgr);
152
DFHANDLER(ring);
153
DFHANDLER(warpring);
154
DFHANDLER(winwarp);
155
156
535.1.57 by Matthew Fuller
Pull remaining funcs out of the switch and into dispatched functions
157
/* functions_misc.c */
158
DFHANDLER(startanimation);
159
DFHANDLER(stopanimation);
160
DFHANDLER(speedupanimation);
161
DFHANDLER(slowdownanimation);
535.1.61 by Matthew Fuller
Rearrange prototypes so they match the file.
162
DFHANDLER(menu);
535.1.57 by Matthew Fuller
Pull remaining funcs out of the switch and into dispatched functions
163
DFHANDLER(pin);
164
DFHANDLER(altkeymap);
165
DFHANDLER(altcontext);
535.1.61 by Matthew Fuller
Rearrange prototypes so they match the file.
166
DFHANDLER(quit);
167
DFHANDLER(restart);
535.1.57 by Matthew Fuller
Pull remaining funcs out of the switch and into dispatched functions
168
DFHANDLER(beep);
535.1.61 by Matthew Fuller
Rearrange prototypes so they match the file.
169
DFHANDLER(trace);
700.1.5 by Matthew Fuller
Hide f.fittocontent implementation behind ifdefs.
170
#ifdef WINBOX
535.1.61 by Matthew Fuller
Rearrange prototypes so they match the file.
171
DFHANDLER(fittocontent);
700.1.5 by Matthew Fuller
Hide f.fittocontent implementation behind ifdefs.
172
#endif
535.1.57 by Matthew Fuller
Pull remaining funcs out of the switch and into dispatched functions
173
DFHANDLER(showbackground);
174
DFHANDLER(raiseicons);
535.1.61 by Matthew Fuller
Rearrange prototypes so they match the file.
175
DFHANDLER(rescuewindows);
176
DFHANDLER(warptoscreen);
535.1.65 by Matthew Fuller
These sound handling funcs are real, so move them into functions_misc.
177
#ifdef SOUNDS
178
DFHANDLER(togglesound);
179
DFHANDLER(rereadsounds);
180
#endif
535.1.57 by Matthew Fuller
Pull remaining funcs out of the switch and into dispatched functions
181
DFHANDLER(exec);
182
183
535.1.62 by Matthew Fuller
Whitespace tweak.
184
535.1.13 by Matthew Fuller
Split out show/hideiconmgr into handler functions. The internals of
185
/*
186
 * Extra exported from functions_icmgr_wsmgr.c for use in
187
 * f.delete{,ordestroy}.
188
 */
189
void HideIconManager(void);
190
535.1.11 by Matthew Fuller
Create a separate file for iconmgr/wsmgr functions, and move the first
191
535.1.51 by Matthew Fuller
It's not really temporary that we're having to share last_time around,
192
/* Several different sections of window handling need this */
193
extern Time last_time;
194
535.1.63 by Matthew Fuller
We do need func_reset_cursor in several of the implementation files,
195
/* Several places need to frob this to leave the cursor alone */
196
extern bool func_reset_cursor;
197
528.1.39 by Matthew Fuller
Setup macros for the definition and calling of these function
198
#endif /* _CTWM_FUNCTIONS_INTERNAL_H */