diff options
Diffstat (limited to 'src/Workspace.hh')
-rw-r--r-- | src/Workspace.hh | 27 |
1 files changed, 6 insertions, 21 deletions
diff --git a/src/Workspace.hh b/src/Workspace.hh index b7c2951..3f865ed 100644 --- a/src/Workspace.hh +++ b/src/Workspace.hh | |||
@@ -25,30 +25,24 @@ | |||
25 | #ifndef WORKSPACE_HH | 25 | #ifndef WORKSPACE_HH |
26 | #define WORKSPACE_HH | 26 | #define WORKSPACE_HH |
27 | 27 | ||
28 | #include "ClientMenu.hh" | ||
28 | 29 | ||
29 | |||
30 | #include "FbMenu.hh" | ||
31 | |||
32 | #include "FbTk/MultLayers.hh" | ||
33 | #include "FbTk/Observer.hh" | ||
34 | #include "FbTk/NotCopyable.hh" | 30 | #include "FbTk/NotCopyable.hh" |
35 | 31 | ||
36 | #include <string> | 32 | #include <string> |
37 | #include <vector> | ||
38 | #include <list> | 33 | #include <list> |
39 | 34 | ||
40 | class BScreen; | 35 | class BScreen; |
41 | class FluxboxWindow; | 36 | class FluxboxWindow; |
42 | class WinClient; | ||
43 | 37 | ||
44 | /** | 38 | /** |
45 | * Handles a single workspace | 39 | * Handles a single workspace |
46 | */ | 40 | */ |
47 | class Workspace:private FbTk::NotCopyable, private FbTk::Observer { | 41 | class Workspace: private FbTk::NotCopyable { |
48 | public: | 42 | public: |
49 | typedef std::vector<FluxboxWindow *> Windows; | 43 | typedef std::list<FluxboxWindow *> Windows; |
50 | 44 | ||
51 | Workspace(BScreen &screen, FbTk::MultLayers &layermanager, const std::string &name, | 45 | Workspace(BScreen &screen, const std::string &name, |
52 | unsigned int workspaceid = 0); | 46 | unsigned int workspaceid = 0); |
53 | ~Workspace(); | 47 | ~Workspace(); |
54 | 48 | ||
@@ -83,24 +77,15 @@ public: | |||
83 | Windows &windowList() { return m_windowlist; } | 77 | Windows &windowList() { return m_windowlist; } |
84 | 78 | ||
85 | size_t numberOfWindows() const; | 79 | size_t numberOfWindows() const; |
86 | bool checkGrouping(FluxboxWindow &win); | ||
87 | |||
88 | static bool loadGroups(const std::string &filename); | ||
89 | 80 | ||
90 | private: | 81 | private: |
91 | void update(FbTk::Subject *subj); | ||
92 | void placeWindow(FluxboxWindow &win); | 82 | void placeWindow(FluxboxWindow &win); |
93 | 83 | ||
94 | BScreen &m_screen; | 84 | BScreen &m_screen; |
95 | FbMenu m_clientmenu; | ||
96 | |||
97 | typedef std::vector<std::string> Group; | ||
98 | typedef std::vector<Group> GroupList; | ||
99 | |||
100 | static GroupList m_groups; ///< handle auto groupings | ||
101 | 85 | ||
102 | FbTk::MultLayers &m_layermanager; | ||
103 | Windows m_windowlist; | 86 | Windows m_windowlist; |
87 | FbTk::Subject m_clientlist_sig; | ||
88 | ClientMenu m_clientmenu; | ||
104 | 89 | ||
105 | std::string m_name; ///< name of this workspace | 90 | std::string m_name; ///< name of this workspace |
106 | unsigned int m_id; ///< id, obsolete, this should be in BScreen | 91 | unsigned int m_id; ///< id, obsolete, this should be in BScreen |