summaryrefslogtreecommitdiff
path: root/src/openbox.hh
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-11-06 08:06:54 +0000
committerDana Jansens <danakj@orodu.net>2002-11-06 08:06:54 +0000
commitd363f720a6b0d1c361bc2022d0e5fcd5a75fd04d (patch)
tree468da3f0e2c52fb761cf3a89c6766dee6d15f45c /src/openbox.hh
parentd3b7c84d4c640face48dfb54d70de2bff1551429 (diff)
fix compiling with the new strut (new namespace)
and fix general errors that broke compiling. make xeventhandler find the OBClient for most events..
Diffstat (limited to 'src/openbox.hh')
-rw-r--r--src/openbox.hh17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/openbox.hh b/src/openbox.hh
index baf9edeb..bb05fae8 100644
--- a/src/openbox.hh
+++ b/src/openbox.hh
@@ -12,11 +12,13 @@ extern "C" {
#include <string>
#include <vector>
+#include <map>
#include "otk/screeninfo.hh"
#include "otk/timerqueuemanager.hh"
#include "otk/property.hh"
#include "xeventhandler.hh"
+#include "client.hh"
namespace ob {
@@ -46,6 +48,9 @@ public:
State_Normal, //!< The window manager is running in its normal state
State_Exiting //!< The window manager is exiting (being destroyed)
};
+
+ //! A map for looking up a specific client class from the window id
+ typedef std::map<Window, OBClient *> ClientMap;
private:
// stuff that can be passed on the command line
@@ -64,6 +69,9 @@ private:
//! The value of argv[0], i.e. how this application was executed
char *_argv0;
+ //! A list of all managed clients
+ ClientMap _clients;
+
//! Manages all timers for the application
/*!
Use of the otk::OBTimerQueueManager::fire funtion in this object ensures
@@ -128,6 +136,15 @@ public:
*/
void eventLoop();
+ //! Adds an OBClient to the client list for lookups
+ void addClient(Window window, OBClient *client);
+
+ //! Removes an OBClient from the client list for lookups
+ void removeClient(Window window);
+
+ //! Finds an OBClient based on its window id
+ OBClient *findClient(Window window);
+
//! Requests that the window manager exit
/*!
Causes the Openbox::eventLoop function to stop looping, so that the window