]> Dogcows Code - chaz/openbox/blobdiff - otk/property.hh
more conversion to ustring. added more members
[chaz/openbox] / otk / property.hh
index 912d8286c04a299c32087369b514e19ca4f78c96..9681b9c311be125c2568c6a16a7175c95ce03d8e 100644 (file)
@@ -1,4 +1,4 @@
-// -*- mode: C++; indent-tabs-mode: nil; -*-
+// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
 #ifndef   __atom_hh
 #define   __atom_hh
 
@@ -6,6 +6,9 @@
   @brief Provides access to window properties
 */
 
+#include "ustring.hh"
+#include "screeninfo.hh"
+
 extern "C" {
 #include <X11/Xlib.h>
 #include <X11/Xatom.h>
@@ -14,14 +17,11 @@ extern "C" {
 }
 
 #include <vector>
-#include <string>
-
-#include "screeninfo.hh"
 
 namespace otk {
 
 //! Provides easy access to window properties.
-class OBProperty {
+class Property {
 public:
   //! The atoms on the X server which this class will cache
   enum Atoms {
@@ -33,9 +33,7 @@ public:
     Atom_String,   //!< The atom which represents ascii strings
     Atom_Utf8,     //!< The atom which represents utf8-encoded strings
     
-#ifdef    HAVE_GETPID
-    blackbox_pid,
-#endif // HAVE_GETPID
+    openbox_pid,
 
     // window hints
     wm_colormap_windows,
@@ -47,6 +45,7 @@ public:
     wm_name,
     wm_icon_name,
     wm_class,
+    wm_window_role,
     motif_wm_hints,
     blackbox_attributes,
     blackbox_change_attributes,
@@ -129,6 +128,7 @@ public:
     net_wm_action_close,
 
     net_wm_state_modal,
+    net_wm_state_sticky,
     net_wm_state_maximized_vert,
     net_wm_state_maximized_horz,
     net_wm_state_shaded,
@@ -136,26 +136,32 @@ public:
     net_wm_state_skip_pager,
     net_wm_state_hidden,
     net_wm_state_fullscreen,
+    net_wm_state_above,
+    net_wm_state_below,
 
     kde_net_system_tray_windows,
     kde_net_wm_system_tray_window_for,
     kde_net_wm_window_type_override,
  
+#ifndef DOXYGEN_IGNORE
     // constant for how many atoms exist in the enumerator
     NUM_ATOMS
+#endif
   };
 
   //! The possible types/encodings of strings
   enum StringType {
     ascii, //!< Standard 8-bit ascii string
     utf8,  //!< Utf8-encoded string
+#ifndef DOXYGEN_IGNORE
     NUM_STRING_TYPE
+#endif
   };
 
 private:
   //! The value of all atoms on the X server that exist in the
-  //! OBProperty::Atoms enum
-  Atom                  _atoms[NUM_ATOMS];
+  //! Property::Atoms enum
+  Atom _atoms[NUM_ATOMS];
 
   //! Gets the value of an Atom from the X server, creating it if nessesary
   Atom create(const char *name) const;
@@ -170,23 +176,23 @@ private:
 
 public:
   //! A list of strings
-  typedef std::vector<std::string> StringVect;
+  typedef std::vector<ustring> StringVect;
 
-  //! Constructs a new OBAtom object
+  //! Constructs a new Atom object
   /*!
-    CAUTION: This constructor uses OBDisplay::display, so ensure that it is
+    CAUTION: This constructor uses Display::display, so ensure that it is
     initialized before initializing this class!
   */
-  OBProperty();
-  //! Destroys the OBAtom object
-  virtual ~OBProperty();
+  Property();
+  //! Destroys the Atom object
+  virtual ~Property();
 
   //! Sets a single-value property on a window to a new value
   /*!
     @param win The window id of the window on which to set the property's value
-    @param atom A member of the OBProperty::Atoms enum that specifies which
+    @param atom A member of the Property::Atoms enum that specifies which
                 property to set
-    @param type A member of the OBProperty::Atoms enum that specifies the type
+    @param type A member of the Property::Atoms enum that specifies the type
                 of the property to set
     @param value The value to set the property to
   */
@@ -194,9 +200,9 @@ public:
   //! Sets an multiple-value property on a window to a new value
   /*!
     @param win The window id of the window on which to set the property's value
-    @param atom A member of the OBProperty::Atoms enum that specifies which
+    @param atom A member of the Property::Atoms enum that specifies which
                 property to set
-    @param type A member of the OBProperty::Atoms enum that specifies the type
+    @param type A member of the Property::Atoms enum that specifies the type
                 of the property to set
     @param value Any array of values to set the property to. The array must
                  contain <i>elements</i> number of elements
@@ -207,20 +213,20 @@ public:
   //! Sets a string property on a window to a new value
   /*!
     @param win The window id of the window on which to set the property's value
-    @param atom A member of the OBProperty::Atoms enum that specifies which
+    @param atom A member of the Property::Atoms enum that specifies which
                 property to set
-    @param type A member of the OBProperty::StringType enum that specifies the
+    @param type A member of the Property::StringType enum that specifies the
                 type of the string the property is being set to
     @param value The string to set the property to
   */
   void set(Window win, Atoms atom, StringType type,
-           const std::string &value) const;
+           const ustring &value) const;
   //! Sets a string-array property on a window to a new value
   /*!
     @param win The window id of the window on which to set the property's value
-    @param atom A member of the OBProperty::Atoms enum that specifies which
+    @param atom A member of the Property::Atoms enum that specifies which
                 property to set
-    @param type A member of the OBProperty::StringType enum that specifies the
+    @param type A member of the Property::StringType enum that specifies the
                 type of the string the property is being set to
     @param strings A list of strings to set the property to
   */
@@ -230,9 +236,9 @@ public:
   //! Gets the value of a property on a window
   /*!
     @param win The window id of the window to get the property value from
-    @param atom A member of the OBProperty::Atoms enum that specifies which
+    @param atom A member of the Property::Atoms enum that specifies which
                 property to retrieve
-    @param type A member of the OBProperty::Atoms enum that specifies the type
+    @param type A member of the Property::Atoms enum that specifies the type
                 of the property to retrieve
     @param nelements The maximum number of elements to retrieve from the
                      property (assuming it has more than 1 value in it). To
@@ -254,9 +260,9 @@ public:
   //! Gets a single element from the value of a property on a window
   /*!
     @param win The window id of the window to get the property value from
-    @param atom A member of the OBProperty::Atoms enum that specifies which
+    @param atom A member of the Property::Atoms enum that specifies which
                 property to retrieve
-    @param type A member of the OBProperty::Atoms enum that specifies the type
+    @param type A member of the Property::Atoms enum that specifies the type
                 of the property to retrieve
     @param value If the function returns true, then this contains the first
                  (and possibly only) element in the value of the specified
@@ -268,9 +274,9 @@ public:
   //! Gets a single string from the value of a property on a window
   /*!
     @param win The window id of the window to get the property value from
-    @param atom A member of the OBProperty::Atoms enum that specifies which
+    @param atom A member of the Property::Atoms enum that specifies which
                 property to retrieve
-    @param type A member of the OBProperty::StringType enum that specifies the
+    @param type A member of the Property::StringType enum that specifies the
                 type of the string property to retrieve
     @param value If the function returns true, then this contains the first
                  (and possibly only) string in the value of the specified
@@ -278,13 +284,13 @@ public:
     @return true if retrieval of the specified property with the specified
             type was successful; otherwise, false
   */
-  bool get(Window win, Atoms atom, StringType type, std::string *value) const;
+  bool get(Window win, Atoms atom, StringType type, ustring *value) const;
   //! Gets strings from the value of a property on a window
   /*!
     @param win The window id of the window to get the property value from
-    @param atom A member of the OBProperty::Atoms enum that specifies which
+    @param atom A member of the Property::Atoms enum that specifies which
                 property to retrieve
-    @param type A member of the OBProperty::StringType enum that specifies the
+    @param type A member of the Property::StringType enum that specifies the
                 type of the string property to retrieve
     @param nelements The maximum number of strings to retrieve from the
                      property (assuming it has more than 1 string in it). To
@@ -302,18 +308,18 @@ public:
   //! Removes a property from a window
   /*!
     @param win The window id of the window to remove the property from
-    @param atom A member of the OBProperty::Atoms enum that specifies which
+    @param atom A member of the Property::Atoms enum that specifies which
                 property to remove from the window
   */
   void erase(Window win, Atoms atom) const;
 
   //! Gets the value of an atom on the X server
   /*!
-    @param a A member of the OBProperty::Atoms enum that specifies which Atom's
+    @param a A member of the Property::Atoms enum that specifies which Atom's
              value to return
     @return The value of the specified Atom
   */
-  inline Atom atom(Atoms a) {
+  inline Atom atom(Atoms a) const {
     assert(a >= 0 && a < NUM_ATOMS); Atom ret = _atoms[a]; assert(ret != 0);
     return ret;
   }
This page took 0.033106 seconds and 4 git commands to generate.