#include <vector>
#include <map>
+#include "python.hh"
#include "otk/screeninfo.hh"
#include "otk/timerqueuemanager.hh"
#include "otk/property.hh"
#include "otk/configuration.hh"
#include "otk/eventdispatcher.hh"
#include "otk/eventhandler.hh"
-#include "client.hh"
namespace ob {
class OBScreen;
+class OBClient;
+class OBActions;
-//! The main class for the Openbox window manager.
+//! The main class for the Openbox window manager
/*!
Only a single instance of the Openbox class may be used in the application. A
pointer to this instance is held in the Openbox::instance static member
class Openbox : public otk::OtkEventDispatcher, public otk::OtkEventHandler
{
public:
- //! The single instance of the Openbox class for the application.
+ //! The single instance of the Openbox class for the application
/*!
Since this variable is globally available in the application, the Openbox
class does not need to be passed around to any of the other classes.
//! A list of all managed clients
ClientMap _clients;
+ PyObject *_pyclients; // PyDictObject
//! A list of all the managed screens
ScreenList _screens;
*/
otk::OBProperty *_property;
+ //! The action interface through which all user-available actions occur
+ OBActions *_actions;
+
//! The running state of the window manager
RunState _state;
//! Returns the mouse cursors used throughout Openbox
inline const Cursors &cursors() const { return _cursors; }
+ inline PyObject *pyclients() const { return _pyclients; }
+
//! The main function of the Openbox class
/*!
This function should be called after instantiating the Openbox class.
manager can be destroyed.
*/
inline void shutdown() { _doshutdown = true; }
-
- virtual void mapRequestHandler(const XMapRequestEvent &);
};
}