#ifndef __openbox_hh
#define __openbox_hh
+/*! @file openbox.hh
+ @brief The main class for the Openbox window manager
+*/
+
extern "C" {
#include <X11/Xlib.h>
}
#include "otk/screeninfo.hh"
#include "otk/timerqueuemanager.hh"
+#include "otk/property.hh"
+#include "xeventhandler.hh"
namespace ob {
//! The posible running states of the window manager
enum RunState {
- //! The window manager is starting up (being created)
- State_Starting,
- //! The window manager is running in its normal state
- State_Normal,
- //! The window manager is exiting (being destroyed)
- State_Exiting
+ State_Starting, //!< The window manager is starting up (being created)
+ State_Normal, //!< The window manager is running in its normal state
+ State_Exiting //!< The window manager is exiting (being destroyed)
};
private:
*/
otk::OBTimerQueueManager _timermanager;
+ //! The class which will handle raw XEvents
+ OBXEventHandler _xeventhandler;
+
+ //! Cached atoms on the display
+ /*!
+ This is a pointer because the OBProperty class uses otk::OBDisplay::display
+ in its constructor, so, it needs to be initialized <b>after</b> the display
+ is initialized in this class' constructor.
+ */
+ otk::OBProperty *_property;
+
//! The running state of the window manager
RunState _state;
*/
inline otk::OBTimerQueueManager *timerManager() { return &_timermanager; }
+ inline const otk::OBProperty *property() const { return _property; }
+
//! The main function of the Openbox class
/*!
This function should be called after instantiating the Openbox class.
- Loops indefinately while handling all events in the application.
+ It loops indefinately while handling all events for the application.
The Openbox::shutdown method will cause this function to exit.
*/
void eventLoop();
- // XXX: TEMPORARY!#!@%*!^#*!#!#!
- virtual void process_event(XEvent *) = 0;
-
//! Requests that the window manager exit
/*!
Causes the Openbox::eventLoop function to stop looping, so that the window