X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=otk%2Fdisplay.hh;h=ed469a6c5c79e9acfa85a9e2bf7f979c532c403f;hb=889df8a74da733c849cb52c3a76ae59956755882;hp=e8f91ae946dcd1bec090d643b2313ac5b82d78af;hpb=d4d89ce0bbd3dd0c556a593accb5e48f7ae09d9e;p=chaz%2Fopenbox diff --git a/otk/display.hh b/otk/display.hh index e8f91ae9..ed469a6c 100644 --- a/otk/display.hh +++ b/otk/display.hh @@ -42,6 +42,15 @@ private: //! 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; + //! A list of information for all screens on the display static ScreenInfoList _screenInfoList; @@ -87,6 +96,9 @@ public: */ static const ScreenInfo* screenInfo(int snum); + //! Find a ScreenInfo based on a root window + static const ScreenInfo* findScreen(Window root); + //! Returns if the display has the shape extention available inline static bool shape() { return _shape; } //! Returns the shape extension's event base @@ -94,7 +106,14 @@ public: //! Returns if the display has the xinerama extention 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(); + //! Ungrabs the display + static void ungrab(); @@ -106,6 +125,11 @@ public: bool allow_scroll_lock); static void ungrabButton(unsigned int button, unsigned int modifiers, Window grab_window); + static void grabKey(unsigned int keycode, unsigned int modifiers, + Window grab_window, bool owner_events, + int pointer_mode, int keyboard_mode, bool allow_scroll_lock); + static void ungrabKey(unsigned int keycode, unsigned int modifiers, + Window grab_window); }; }