1 /* 2 * Workspace-related structures and definitions 3 */ 4 5 #ifndef _CTWM_WORKSPACE_STRUCTS_H 6 #define _CTWM_WORKSPACE_STRUCTS_H 7 8 #define MAXWORKSPACE 32 9 10 typedef enum { 11 WMS_map, 12 WMS_buttons, 13 } WMgrState; 14 15 typedef enum { 16 STYLE_NORMAL, 17 STYLE_STYLE1, 18 STYLE_STYLE2, 19 STYLE_STYLE3, 20 } ButtonStyle; 21 22 struct winList { 23 struct WorkSpace *wlist; 24 Window w; 25 int x, y; 26 int width, height; 27 TwmWindow *twm_win; 28 ColorPair cp; 29 MyFont font; 30 struct winList *next; 31 }; 32 33 struct WorkSpaceMgr { 34 struct WorkSpace *workSpaceList; 35 struct WorkSpaceWindow *workSpaceWindowList; 36 struct OccupyWindow *occupyWindow; 37 MyFont buttonFont; 38 MyFont windowFont; 39 ColorPair windowcp; 40 bool windowcpgiven; 41 ColorPair cp; 42 long count; 43 char *geometry; 44 int lines, columns; 45 bool noshowoccupyall; 46 WMgrState initialstate; 47 ButtonStyle buttonStyle; 48 name_list *windowBackgroundL; 49 name_list *windowForegroundL; 50 /* The fields below have been moved from WorkSpaceWindow */ 51 ColorPair curColors; 52 Image *curImage; 53 Pixel curBorderColor; 54 bool curPaint; 55 56 ColorPair defColors; 57 Image *defImage; 58 Pixel defBorderColor; 59 int hspace, vspace; 60 char *name; 61 char *icon_name; 62 }; 63 64 struct WorkSpace { 65 int number; 66 char *name; 67 char *label; 68 Image *image; 69 name_list *clientlist; 70 IconMgr *iconmgr; 71 ColorPair cp; 72 ColorPair backcp; 73 TwmWindow *save_focus; /* Used by SaveWorkspaceFocus feature */ 74 struct WindowRegion *FirstWindowRegion; 75 struct WorkSpace *next; 76 }; 77 78 struct MapSubwindow { 79 Window w; 80 int x, y; 81 WinList *wl; 82 }; 83 84 struct ButtonSubwindow { 85 Window w; 86 }; 87 88 struct WorkSpaceWindow { /* There is one per virtual screen */ 89 VirtualScreen *vs; 90 Window w; 91 TwmWindow *twm_win; 92 MapSubwindow **mswl; /* MapSubWindow List */ 93 ButtonSubwindow **bswl; /* ButtonSubwindow List */ 94 WorkSpace *currentwspc; 95 96 WMgrState state; 97 98 int width, height; // Window dimensions 99 int bwidth, bheight; // Button dimensions 100 int wwidth, wheight; // Map dimensions 101 }; 102 103 #endif /* _CTWM_WORKSPACE_STRUCTS_H */ 104