X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Fdisplay.hh;h=0b5d5844315ccb4e024a83032f1dea36d0a7c2d7;hb=c637f1ffddb9ae6ccdb965163c3862380429b525;hp=0ebd41402e9d35de965005c249bd5eb18091824e;hpb=a6661d587cd043e1894418c091b8dbd4e18a7d55;p=chaz%2Fopenbox diff --git a/otk/display.hh b/otk/display.hh index 0ebd4140..0b5d5844 100644 --- a/otk/display.hh +++ b/otk/display.hh @@ -29,19 +29,30 @@ public: typedef std::vector ScreenInfoList; private: - //! Does the display have the Shape extention? + //! Does the display have the XKB extension? + static bool _xkb; + //! Base for events for the XKB extension + static int _xkb_event_basep; + + //! Does the display have the Shape extension? static bool _shape; - //! Base for events for the Shape extention + //! Base for events for the Shape extension static int _shape_event_basep; - //! Does the display have the Xinerama extention? + //! Does the display have the Xinerama extension? static bool _xinerama; - //! Base for events for the Xinerama extention + //! Base for events for the Xinerama extension static int _xinerama_event_basep; //! A list of all possible combinations of keyboard lock masks static unsigned int _mask_list[8]; + //! The value of the mask for the NumLock modifier + static unsigned int _numLockMask; + + //! The value of the mask for the ScrollLock modifier + static unsigned int _scrollLockMask; + //! The number of requested grabs on the display static int _grab_count; @@ -90,13 +101,24 @@ public: */ static const ScreenInfo* screenInfo(int snum); - //! Returns if the display has the shape extention available + //! Find a ScreenInfo based on a root window + static const ScreenInfo* findScreen(Window root); + + //! Returns if the display has the xkb extension available + inline static bool xkb() { return _xkb; } + //! Returns the xkb extension's event base + inline static int xkbEventBase() { return _xkb_event_basep; } + + //! Returns if the display has the shape extension available inline static bool shape() { return _shape; } //! Returns the shape extension's event base inline static int shapeEventBase() { return _shape_event_basep; } - //! Returns if the display has the xinerama extention available + //! Returns if the display has the xinerama extension available inline static bool xinerama() { return _xinerama; } + inline static unsigned int numLockMask() { return _numLockMask; } + inline static unsigned int scrollLockMask() { return _scrollLockMask; } + //! Grabs the display static void grab();