aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/fluxbox.hh26
1 files changed, 17 insertions, 9 deletions
diff --git a/src/fluxbox.hh b/src/fluxbox.hh
index ae51e35..412d796 100644
--- a/src/fluxbox.hh
+++ b/src/fluxbox.hh
@@ -22,13 +22,13 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25// $Id: fluxbox.hh,v 1.53 2003/05/04 23:38:06 rathnor Exp $ 25// $Id: fluxbox.hh,v 1.54 2003/05/10 14:01:07 fluxgen Exp $
26 26
27#ifndef FLUXBOX_HH 27#ifndef FLUXBOX_HH
28#define FLUXBOX_HH 28#define FLUXBOX_HH
29 29
30#include "App.hh"
30#include "Resource.hh" 31#include "Resource.hh"
31#include "BaseDisplay.hh"
32#include "Timer.hh" 32#include "Timer.hh"
33#include "Observer.hh" 33#include "Observer.hh"
34#include "SignalHandler.hh" 34#include "SignalHandler.hh"
@@ -65,11 +65,12 @@ class Keys;
65class BScreen; 65class BScreen;
66class FbAtoms; 66class FbAtoms;
67 67
68
69/// main class for the window manager.
68/** 70/**
69 main class for the window manager.
70 singleton type 71 singleton type
71*/ 72*/
72class Fluxbox : public BaseDisplay, public FbTk::TimeoutHandler, 73class Fluxbox : public FbTk::App, public FbTk::TimeoutHandler,
73 public FbTk::SignalEventHandler, 74 public FbTk::SignalEventHandler,
74 public FbTk::Observer { 75 public FbTk::Observer {
75public: 76public:
@@ -78,7 +79,12 @@ public:
78 virtual ~Fluxbox(); 79 virtual ~Fluxbox();
79 80
80 static Fluxbox *instance() { return s_singleton; } 81 static Fluxbox *instance() { return s_singleton; }
81 82 /// main event loop
83 void eventLoop();
84 bool validateWindow(Window win) const;
85 void grab();
86 void ungrab();
87
82 inline Atom getFluxboxPidAtom() const { return m_fluxbox_pid; } 88 inline Atom getFluxboxPidAtom() const { return m_fluxbox_pid; }
83 89
84 FluxboxWindow *searchGroup(Window, FluxboxWindow *); 90 FluxboxWindow *searchGroup(Window, FluxboxWindow *);
@@ -140,7 +146,7 @@ public:
140 inline void maskWindowEvents(Window w, FluxboxWindow *bw) 146 inline void maskWindowEvents(Window w, FluxboxWindow *bw)
141 { m_masked = w; m_masked_window = bw; } 147 { m_masked = w; m_masked_window = bw; }
142 148
143 void watchKeyRelease(BScreen *screen, unsigned int mods); 149 void watchKeyRelease(BScreen &screen, unsigned int mods);
144 150
145 void setFocusedWindow(FluxboxWindow *w); 151 void setFocusedWindow(FluxboxWindow *w);
146 void revertFocus(BScreen *screen); 152 void revertFocus(BScreen *screen);
@@ -175,11 +181,11 @@ public:
175 inline const Cursor &getLowerLeftAngleCursor() const { return cursor.ll_angle; } 181 inline const Cursor &getLowerLeftAngleCursor() const { return cursor.ll_angle; }
176 inline const Cursor &getLowerRightAngleCursor() const { return cursor.lr_angle; } 182 inline const Cursor &getLowerRightAngleCursor() const { return cursor.lr_angle; }
177 183
178 184 bool isStartup() const { return m_starting; }
179 enum { B_AMERICANDATE = 1, B_EUROPEANDATE }; 185 enum { B_AMERICANDATE = 1, B_EUROPEANDATE };
180 186
181 typedef std::vector<Fluxbox::Titlebar> TitlebarList; 187 typedef std::vector<Fluxbox::Titlebar> TitlebarList;
182 188
183private: 189private:
184 struct cursor { 190 struct cursor {
185 Cursor session, move, ll_angle, lr_angle; 191 Cursor session, move, ll_angle, lr_angle;
@@ -259,7 +265,9 @@ private:
259 265
260 static Fluxbox *s_singleton; 266 static Fluxbox *s_singleton;
261 std::vector<AtomHandler *> m_atomhandler; 267 std::vector<AtomHandler *> m_atomhandler;
262 268 bool m_starting;
269 bool m_shutdown;
270 int m_server_grabs;
263}; 271};
264 272
265 273