]> Dogcows Code - chaz/openbox/blobdiff - src/client.hh
don't put windows in the focus cycling list if they are set to not show up in the...
[chaz/openbox] / src / client.hh
index 4bc7a517140df0ac4efb9af4be88e68d491310bf..e70dc268b482480a7357e15ffd286ca315d4397a 100644 (file)
@@ -326,6 +326,12 @@ private:
   */
   DecorationFlags _decorations;
 
+  //! A bitmask of values in the Client::Decoration enum.
+  /*!
+    Specifies the decorations that should NOT be displayed on the client.
+  */
+  DecorationFlags _disabled_decorations;
+
   //! A bitmask of values in the Client::Function enum
   /*!
     The values in the variable specify the ways in which the user is allowed to
@@ -527,6 +533,10 @@ BB    @param window The window id that the Client class should handle
   //! Returns the decorations that the client window wishes to be displayed on
   //! it
   inline DecorationFlags decorations() const { return _decorations; }
+  //! Returns the decorations that the user has requested to be disabled on the
+  //! client
+  inline DecorationFlags disabledDecorations() const
+    { return _disabled_decorations; }
   //! Returns the functions that the user can perform on the window
   inline FunctionFlags funtions() const { return _functions; }
 
@@ -559,6 +569,15 @@ BB    @param window The window id that the Client class should handle
   //! Returns the window's stacking layer
   inline StackLayer layer() const { return _layer; }
 
+  //! Returns the logical size of the window
+  /*!
+    The "logical" size of the window is refers to the user's perception of the
+    size of the window, and is the value that should be displayed to the user.
+    For example, with xterms, this value it the number of characters being
+    displayed in the terminal, instead of the number of pixels.
+  */
+  const otk::Point &logicalSize() const { return _logical_size; }
+
   //! Applies the states requested when the window mapped
   /*!
     This should be called only once, during the window mapping process. It
@@ -596,6 +615,16 @@ BB    @param window The window id that the Client class should handle
   */
   void resize(Corner anchor, int w, int h);
 
+  //! Choose a mask of decorations to not display on the client
+  /*!
+    Pass a value of 0 to the function to turn all decorations back on. Note
+    that you cannot add decorations to a window with this, you can only remove
+    decorations that would otherwise have been displayed.
+    @param flags The mask of values from Client::Decoration to specify which
+                 decorations should not be displayed.
+  */
+  void disableDecorations(DecorationFlags flags);
+  
   //! Attempt to focus the client window
   bool focus();
 
@@ -609,7 +638,7 @@ BB    @param window The window id that the Client class should handle
             been unmapped/destroyed, and so is invalid.
   */
   bool validate() const;
-  
+
   virtual void focusHandler(const XFocusChangeEvent &e);
   virtual void unfocusHandler(const XFocusChangeEvent &e);
   virtual void propertyHandler(const XPropertyEvent &e);
This page took 0.026196 seconds and 4 git commands to generate.