X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fopenbox.hh;h=8145531fc4e64abb36105f8b78985947fab5b1c1;hb=1da8531a7b4eea22592b6d0760352d2a34e9b6b0;hp=2b8e8b07f5b1aab3ff0e120063baf19656409731;hpb=084d6f4e42396a5d2baf72877b5abf3ae6fef7be;p=chaz%2Fopenbox diff --git a/src/openbox.hh b/src/openbox.hh index 2b8e8b07..8145531f 100644 --- a/src/openbox.hh +++ b/src/openbox.hh @@ -16,7 +16,6 @@ extern "C" { #include "otk/display.hh" #include "otk/screeninfo.hh" -#include "otk/configuration.hh" #include "otk/eventdispatcher.hh" #include "otk/eventhandler.hh" @@ -174,19 +173,17 @@ public: //! Returns the Bindings instance for the window manager inline Bindings *bindings() const { return _bindings; } - //! Returns a managed screen + //! Returns a managed screen or a null pointer + /*! + ALWAYS check the return value for a non-null, as any unmanaged screens + will return one. This includes screen(0) if the first managed screen is 1. + */ inline Screen *screen(int num) { - assert(num >= 0); assert(num < (signed)_screens.size()); - if (num < 0 || num >= screenCount()) - return NULL; + assert(num >= 0); assert(num < (signed)ScreenCount(**otk::display)); + if (num >= (signed)_screens.size()) return 0; return _screens[num]; } - //! Returns the number of managed screens - inline int screenCount() const { - return (signed)_screens.size(); - } - //! Returns the mouse cursors used throughout Openbox inline const Cursors &cursors() const { return _cursors; } @@ -232,8 +229,12 @@ public: _shutdown = true; _restart = true; _restart_prog = bin; } - //! Executes a command on a screen - void execute(int screen, const std::string &bin); + //! True if Openbox should be restarted instead of exiting + inline bool doRestart() const { return _restart; } + + //! The command line requested to be executed in place of restarting + //! Openbox the way it was run previously. + inline const std::string &restartProgram() const { return _restart_prog; } }; }