10bbfda8aSnia/* 20bbfda8aSnia * Workspace-related structures and definitions 30bbfda8aSnia */ 40bbfda8aSnia 50bbfda8aSnia#ifndef _CTWM_WORKSPACE_STRUCTS_H 60bbfda8aSnia#define _CTWM_WORKSPACE_STRUCTS_H 70bbfda8aSnia 80bbfda8aSnia#define MAXWORKSPACE 32 90bbfda8aSnia 100bbfda8aSniatypedef enum { 110bbfda8aSnia WMS_map, 120bbfda8aSnia WMS_buttons, 130bbfda8aSnia} WMgrState; 140bbfda8aSnia 150bbfda8aSniatypedef enum { 160bbfda8aSnia STYLE_NORMAL, 170bbfda8aSnia STYLE_STYLE1, 180bbfda8aSnia STYLE_STYLE2, 190bbfda8aSnia STYLE_STYLE3, 200bbfda8aSnia} ButtonStyle; 210bbfda8aSnia 220bbfda8aSniastruct winList { 230bbfda8aSnia struct WorkSpace *wlist; 240bbfda8aSnia Window w; 250bbfda8aSnia int x, y; 260bbfda8aSnia int width, height; 270bbfda8aSnia TwmWindow *twm_win; 280bbfda8aSnia ColorPair cp; 290bbfda8aSnia MyFont font; 300bbfda8aSnia struct winList *next; 310bbfda8aSnia}; 320bbfda8aSnia 330bbfda8aSniastruct WorkSpaceMgr { 340bbfda8aSnia struct WorkSpace *workSpaceList; 350bbfda8aSnia struct WorkSpaceWindow *workSpaceWindowList; 360bbfda8aSnia struct OccupyWindow *occupyWindow; 370bbfda8aSnia MyFont buttonFont; 380bbfda8aSnia MyFont windowFont; 390bbfda8aSnia ColorPair windowcp; 400bbfda8aSnia bool windowcpgiven; 410bbfda8aSnia ColorPair cp; 420bbfda8aSnia long count; 430bbfda8aSnia char *geometry; 440bbfda8aSnia int lines, columns; 450bbfda8aSnia bool noshowoccupyall; 460bbfda8aSnia WMgrState initialstate; 470bbfda8aSnia ButtonStyle buttonStyle; 480bbfda8aSnia name_list *windowBackgroundL; 490bbfda8aSnia name_list *windowForegroundL; 500bbfda8aSnia /* The fields below have been moved from WorkSpaceWindow */ 510bbfda8aSnia ColorPair curColors; 520bbfda8aSnia Image *curImage; 530bbfda8aSnia Pixel curBorderColor; 540bbfda8aSnia bool curPaint; 550bbfda8aSnia 560bbfda8aSnia ColorPair defColors; 570bbfda8aSnia Image *defImage; 580bbfda8aSnia Pixel defBorderColor; 590bbfda8aSnia int hspace, vspace; 600bbfda8aSnia char *name; 610bbfda8aSnia char *icon_name; 620bbfda8aSnia}; 630bbfda8aSnia 640bbfda8aSniastruct WorkSpace { 650bbfda8aSnia int number; 660bbfda8aSnia char *name; 670bbfda8aSnia char *label; 680bbfda8aSnia Image *image; 690bbfda8aSnia name_list *clientlist; 700bbfda8aSnia IconMgr *iconmgr; 710bbfda8aSnia ColorPair cp; 720bbfda8aSnia ColorPair backcp; 730bbfda8aSnia TwmWindow *save_focus; /* Used by SaveWorkspaceFocus feature */ 740bbfda8aSnia struct WindowRegion *FirstWindowRegion; 750bbfda8aSnia struct WorkSpace *next; 760bbfda8aSnia}; 770bbfda8aSnia 780bbfda8aSniastruct MapSubwindow { 790bbfda8aSnia Window w; 800bbfda8aSnia int x, y; 810bbfda8aSnia WinList *wl; 820bbfda8aSnia}; 830bbfda8aSnia 840bbfda8aSniastruct ButtonSubwindow { 850bbfda8aSnia Window w; 860bbfda8aSnia}; 870bbfda8aSnia 880bbfda8aSniastruct WorkSpaceWindow { /* There is one per virtual screen */ 890bbfda8aSnia VirtualScreen *vs; 900bbfda8aSnia Window w; 910bbfda8aSnia TwmWindow *twm_win; 920bbfda8aSnia MapSubwindow **mswl; /* MapSubWindow List */ 930bbfda8aSnia ButtonSubwindow **bswl; /* ButtonSubwindow List */ 940bbfda8aSnia WorkSpace *currentwspc; 950bbfda8aSnia 960bbfda8aSnia WMgrState state; 970bbfda8aSnia 980bbfda8aSnia int width, height; // Window dimensions 990bbfda8aSnia int bwidth, bheight; // Button dimensions 1000bbfda8aSnia int wwidth, wheight; // Map dimensions 1010bbfda8aSnia}; 1020bbfda8aSnia 1030bbfda8aSnia#endif /* _CTWM_WORKSPACE_STRUCTS_H */ 104