aboutsummaryrefslogtreecommitdiff
path: root/src/Workspace.hh
diff options
context:
space:
mode:
authormarkt <markt>2007-03-27 08:43:09 (GMT)
committermarkt <markt>2007-03-27 08:43:09 (GMT)
commit9ebfea7944a1455a74cb70781373d83f50ad196c (patch)
tree919096d5e05e9b70499433bea3db2faf19b27bae /src/Workspace.hh
parent58e280952a47fc3fb77b4659a21cc4ce6a73066e (diff)
downloadfluxbox-9ebfea7944a1455a74cb70781373d83f50ad196c.zip
fluxbox-9ebfea7944a1455a74cb70781373d83f50ad196c.tar.bz2
lots and lots of code cleanup, plus introduced new ClientMenu class
Diffstat (limited to 'src/Workspace.hh')
-rw-r--r--src/Workspace.hh19
1 files changed, 6 insertions, 13 deletions
diff --git a/src/Workspace.hh b/src/Workspace.hh
index b7c2951..e4fffd0 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
@@ -88,19 +82,18 @@ public:
88 static bool loadGroups(const std::string &filename); 82 static bool loadGroups(const std::string &filename);
89 83
90private: 84private:
91 void update(FbTk::Subject *subj);
92 void placeWindow(FluxboxWindow &win); 85 void placeWindow(FluxboxWindow &win);
93 86
94 BScreen &m_screen; 87 BScreen &m_screen;
95 FbMenu m_clientmenu;
96 88
97 typedef std::vector<std::string> Group; 89 typedef std::vector<std::string> Group;
98 typedef std::vector<Group> GroupList; 90 typedef std::vector<Group> GroupList;
99 91
100 static GroupList m_groups; ///< handle auto groupings 92 static GroupList m_groups; ///< handle auto groupings
101 93
102 FbTk::MultLayers &m_layermanager;
103 Windows m_windowlist; 94 Windows m_windowlist;
95 FbTk::Subject m_clientlist_sig;
96 ClientMenu m_clientmenu;
104 97
105 std::string m_name; ///< name of this workspace 98 std::string m_name; ///< name of this workspace
106 unsigned int m_id; ///< id, obsolete, this should be in BScreen 99 unsigned int m_id; ///< id, obsolete, this should be in BScreen