]> Dogcows Code - chaz/openbox/blobdiff - otk/display.hh
add fieron2
[chaz/openbox] / otk / display.hh
index 7f5ab02d0b55daf96385ab430152de3e60129361..0b5d5844315ccb4e024a83032f1dea36d0a7c2d7 100644 (file)
@@ -29,19 +29,30 @@ public:
   typedef std::vector<ScreenInfo> 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();
 
@@ -113,6 +135,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);
 };
 
 }
This page took 0.025299 seconds and 4 git commands to generate.