occupation.h revision 0bbfda8a
10bbfda8aSnia/*
20bbfda8aSnia * Occupation handling routines
30bbfda8aSnia */
40bbfda8aSnia
50bbfda8aSnia#ifndef _CTWM_OCCUPATION_H
60bbfda8aSnia#define _CTWM_OCCUPATION_H
70bbfda8aSnia
80bbfda8aSnia
90bbfda8aSniastruct OccupyWindow {
100bbfda8aSnia	Window        w;
110bbfda8aSnia	TwmWindow     *twm_win;
120bbfda8aSnia	char          *geometry;
130bbfda8aSnia	Window        *obuttonw;
140bbfda8aSnia	Window        OK, cancel, allworkspc;
150bbfda8aSnia	int           width, height;
160bbfda8aSnia	int           minwidth, minheight;
170bbfda8aSnia	char          *name;
180bbfda8aSnia	char          *icon_name;
190bbfda8aSnia	int           lines, columns;
200bbfda8aSnia	int           hspace, vspace;         /* space between workspaces */
210bbfda8aSnia	int           bwidth, bheight;
220bbfda8aSnia	int           owidth;                 /* oheight == bheight */
230bbfda8aSnia	ColorPair     cp;
240bbfda8aSnia	MyFont        font;
250bbfda8aSnia	int           tmpOccupation;
260bbfda8aSnia};
270bbfda8aSnia
280bbfda8aSnia
290bbfda8aSnia/* Setting occupation bits */
300bbfda8aSniavoid SetupOccupation(TwmWindow *twm_win, int occupation_hint);
310bbfda8aSniavoid AddToWorkSpace(char *wname, TwmWindow *twm_win);
320bbfda8aSniavoid RemoveFromWorkSpace(char *wname, TwmWindow *twm_win);
330bbfda8aSniavoid ToggleOccupation(char *wname, TwmWindow *twm_win);
340bbfda8aSniavoid MoveToNextWorkSpace(VirtualScreen *vs, TwmWindow *twm_win);
350bbfda8aSniavoid MoveToPrevWorkSpace(VirtualScreen *vs, TwmWindow *twm_win);
360bbfda8aSniavoid MoveToNextWorkSpaceAndFollow(VirtualScreen *vs, TwmWindow *twm_win);
370bbfda8aSniavoid MoveToPrevWorkSpaceAndFollow(VirtualScreen *vs, TwmWindow *twm_win);
380bbfda8aSniavoid WmgrRedoOccupation(TwmWindow *win);
390bbfda8aSniavoid WMgrRemoveFromCurrentWorkSpace(VirtualScreen *vs, TwmWindow *win);
400bbfda8aSniavoid WMgrAddToCurrentWorkSpaceAndWarp(VirtualScreen *vs, char *winname);
410bbfda8aSniavoid OccupyAll(TwmWindow *twm_win);
420bbfda8aSnia
430bbfda8aSnia/* Occupation editing window */
440bbfda8aSniavoid CreateOccupyWindow(void);
450bbfda8aSniavoid ResizeOccupyWindow(TwmWindow *win);
460bbfda8aSniavoid PaintOccupyWindow(void);
470bbfda8aSniavoid OccupyHandleButtonEvent(XEvent *event);
480bbfda8aSniavoid Occupy(TwmWindow *twm_win);
490bbfda8aSnia
500bbfda8aSnia/* Backend/util */
510bbfda8aSniavoid ChangeOccupation(TwmWindow *tmp_win, int newoccupation);
520bbfda8aSniabool AddToClientsList(char *workspace, char *client);
530bbfda8aSniaunsigned int GetMaskFromProperty(unsigned char *_prop, unsigned long len);
540bbfda8aSniaint GetPropertyFromMask(unsigned int mask, char **prop);
550bbfda8aSnia
560bbfda8aSnia
570bbfda8aSnia
580bbfda8aSnia/* Various other code needs to look at this */
590bbfda8aSniaextern int fullOccupation;
600bbfda8aSnia
610bbfda8aSnia/* Hopefully temporary; x-ref comment in .c */
620bbfda8aSniaextern TwmWindow *occupyWin;
630bbfda8aSnia
640bbfda8aSnia#endif // _CTWM_OCCUPATION_H
65