diff options
-rw-r--r-- | src/Workspace.hh | 90 |
1 files changed, 42 insertions, 48 deletions
diff --git a/src/Workspace.hh b/src/Workspace.hh index 9ca8326..dd41281 100644 --- a/src/Workspace.hh +++ b/src/Workspace.hh | |||
@@ -19,8 +19,10 @@ | |||
19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
20 | // DEALINGS IN THE SOFTWARE. | 20 | // DEALINGS IN THE SOFTWARE. |
21 | 21 | ||
22 | #ifndef WORKSPACE_HH | 22 | #ifndef WORKSPACE_HH |
23 | #define WORKSPACE_HH | 23 | #define WORKSPACE_HH |
24 | |||
25 | #include "Window.hh" | ||
24 | 26 | ||
25 | #include <X11/Xlib.h> | 27 | #include <X11/Xlib.h> |
26 | #include <string> | 28 | #include <string> |
@@ -30,66 +32,58 @@ | |||
30 | class BScreen; | 32 | class BScreen; |
31 | class Clientmenu; | 33 | class Clientmenu; |
32 | class Workspace; | 34 | class Workspace; |
33 | class FluxboxWindow; | 35 | |
34 | 36 | ||
35 | 37 | ||
36 | class Workspace { | 38 | class Workspace { |
37 | public: | 39 | public: |
38 | typedef std::vector<FluxboxWindow *> Windows; | 40 | typedef std::vector<FluxboxWindow *> Windows; |
39 | 41 | ||
40 | Workspace(BScreen *, int = 0); | 42 | Workspace(BScreen *, int = 0); |
41 | ~Workspace(void); | 43 | ~Workspace(void); |
42 | 44 | ||
43 | inline BScreen *getScreen(void) { return screen; } | 45 | inline BScreen *getScreen(void) { return screen; } |
44 | 46 | inline FluxboxWindow *getLastFocusedWindow(void) { return lastfocus; } | |
45 | inline FluxboxWindow *getLastFocusedWindow(void) { return lastfocus; } | 47 | inline Clientmenu *getMenu(void) { return clientmenu; } |
46 | 48 | inline const char *getName(void) const { return name.c_str(); } | |
47 | inline Clientmenu *getMenu(void) { return clientmenu; } | 49 | inline const int &getWorkspaceID(void) const { return id; } |
48 | 50 | inline void setLastFocusedWindow(FluxboxWindow *w) { lastfocus = w; } | |
49 | inline const char *getName(void) const { return name.c_str(); } | 51 | FluxboxWindow *getWindow(int); |
50 | 52 | inline Windows &getWindowList() { return windowList; } | |
51 | inline const int &getWorkspaceID(void) const { return id; } | 53 | bool isCurrent(void); |
52 | 54 | bool isLastWindow(FluxboxWindow *); | |
53 | inline void setLastFocusedWindow(FluxboxWindow *w) { lastfocus = w; } | 55 | const int addWindow(FluxboxWindow *, Bool = False); |
54 | 56 | const int removeWindow(FluxboxWindow *); | |
55 | FluxboxWindow *getWindow(int); | 57 | const int getCount(void); |
56 | inline Windows &getWindowList() { return windowList; } | ||
57 | |||
58 | bool isCurrent(void); | ||
59 | bool isLastWindow(FluxboxWindow *); | ||
60 | |||
61 | const int addWindow(FluxboxWindow *, Bool = False); | ||
62 | const int removeWindow(FluxboxWindow *); | ||
63 | const int getCount(void); | ||
64 | 58 | ||
65 | void showAll(void); | 59 | void showAll(void); |
66 | void hideAll(void); | 60 | void hideAll(void); |
67 | void removeAll(void); | 61 | void removeAll(void); |
68 | void raiseWindow(FluxboxWindow *); | 62 | void raiseWindow(FluxboxWindow *); |
69 | void lowerWindow(FluxboxWindow *); | 63 | void lowerWindow(FluxboxWindow *); |
70 | void reconfigure(); | 64 | void reconfigure(); |
71 | void update(); | 65 | void update(); |
72 | void setCurrent(void); | 66 | void setCurrent(void); |
73 | void setName(char *); | 67 | void setName(char *); |
74 | void shutdown(void); | 68 | void shutdown(void); |
75 | 69 | ||
76 | private: | 70 | private: |
77 | BScreen *screen; | 71 | BScreen *screen; |
78 | FluxboxWindow *lastfocus; | 72 | FluxboxWindow *lastfocus; |
79 | Clientmenu *clientmenu; | 73 | Clientmenu *clientmenu; |
80 | 74 | ||
81 | typedef std::list<FluxboxWindow *> WindowStack; | 75 | typedef std::list<FluxboxWindow *> WindowStack; |
82 | 76 | ||
83 | 77 | ||
84 | WindowStack stackingList; | 78 | WindowStack stackingList; |
85 | Windows windowList; | 79 | Windows windowList; |
86 | 80 | ||
87 | std::string name; | 81 | std::string name; |
88 | int id, cascade_x, cascade_y; | 82 | int id, cascade_x, cascade_y; |
89 | 83 | ||
90 | 84 | ||
91 | protected: | 85 | protected: |
92 | void placeWindow(FluxboxWindow *); | 86 | void placeWindow(FluxboxWindow *); |
93 | 87 | ||
94 | 88 | ||
95 | 89 | ||