aboutsummaryrefslogtreecommitdiff
path: root/src/Workspace.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/Workspace.hh')
-rw-r--r--src/Workspace.hh27
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
40class BScreen; 35class BScreen;
41class FluxboxWindow; 36class FluxboxWindow;
42class WinClient;
43 37
44/** 38/**
45 * Handles a single workspace 39 * Handles a single workspace
46 */ 40 */
47class Workspace:private FbTk::NotCopyable, private FbTk::Observer { 41class Workspace: private FbTk::NotCopyable {
48public: 42public:
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
90private: 81private:
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