@brief The main class for the Openbox window manager
*/
+/*
+ cuz girls look soooo goood.. on the end of my DICK
+*/
+
extern "C" {
#include <X11/Xlib.h>
}
#include "otk/screeninfo.hh"
#include "otk/timerqueuemanager.hh"
#include "otk/property.hh"
+#include "otk/configuration.hh"
#include "xeventhandler.hh"
#include "client.hh"
namespace ob {
+class OBScreen;
+
//! The main class for the Openbox window manager.
/*!
Only a single instance of the Openbox class may be used in the application. A
//! A map for looking up a specific client class from the window id
typedef std::map<Window, OBClient *> ClientMap;
+
+ //! A list of OBScreen classes
+ typedef std::vector<OBScreen *> ScreenList;
private:
// stuff that can be passed on the command line
//! A list of all managed clients
ClientMap _clients;
+ //! A list of all the managed screens
+ ScreenList _screens;
+
//! Manages all timers for the application
/*!
Use of the otk::OBTimerQueueManager::fire funtion in this object ensures
//! When set to true, the Openbox::eventLoop function will stop and return
bool _doshutdown;
+ //! The configuration of the application. TEMPORARY
+ otk::Configuration _config;
+
//! Parses the command line used when executing this application
void parseCommandLine(int argv, char **argv);
//! Displays the version string to stdout
*/
inline otk::OBTimerQueueManager *timerManager() { return &_timermanager; }
+ //! Returns the otk::OBProperty instance for the window manager
inline const otk::OBProperty *property() const { return _property; }
+ //! Returns a managed screen
+ inline OBScreen *screen(int num) {
+ assert(num >= 0); assert(num < (signed)_screens.size());
+ return _screens[num];
+ }
+
//! Returns the mouse cursors used throughout Openbox
- inline const Cursors &cursor() const { return _cursors; }
+ inline const Cursors &cursors() const { return _cursors; }
//! The main function of the Openbox class
/*!