]> Dogcows Code - chaz/openbox/blobdiff - src/client.hh
configure request optimizations
[chaz/openbox] / src / client.hh
index a49ccd74957c6a1d6b5374f9349d96cad0ed7d31..80c6e4ee159530a5bbd7ade87663491f16ad6156 100644 (file)
@@ -252,6 +252,10 @@ private:
   bool _max_vert;
   //! The window is maximized to fill the screen horizontally
   bool _max_horz;
+  //! The window should not be displayed by pagers
+  bool _skip_pager;
+  //! The window should not be displayed by taskbars
+  bool _skip_taskbar;
   //! The window is a 'fullscreen' window, and should be on top of all others
   bool _fullscreen;
   //! The window should be on top of other windows of the same type
@@ -316,6 +320,9 @@ private:
   void updateClass();
   // XXX: updateTransientFor();
 
+  //! Change the client's state hints to match the class' data
+  void changeState();
+  
 public:
 #ifndef SWIG
   //! Constructs a new OBClient object around a specified window id
@@ -424,30 +431,45 @@ public:
   //! Resizes the client window, anchoring it in a given corner
   /*!
     This also maintains things like the client's minsize, and size increments.
-    @param anchor The corner to keep in the same position when resizing
-    @param x The X component of the new size for the client
-    @param y The Y component of the new size for the client
+    @param anchor The corner to keep in the same position when resizing.
+    @param w The width component of the new size for the client.
+    @param h The height component of the new size for the client.
+    @param x An optional X coordinate to which the window will be moved
+             after resizing.
+    @param y An optional Y coordinate to which the window will be moved
+             after resizing.
+    The x and y coordinates must both be sepcified together, or they will have
+    no effect. When they are specified, the anchor is ignored.
   */
-  void resize(Corner anchor, int x, int y);
+  void resize(Corner anchor, int w, int h, int x = INT_MIN, int y = INT_MIN);
 
   //! Request the client to close its window.
   void close();
 
+  //! Shades or unshades the client window
+  /*!
+    @param shade true if the window should be shaded; false if it should be
+                 unshaded.
+  */
+  void shade(bool shade);
+  
   //! Attempt to focus the client window
   bool focus();
 
   //! Remove focus from the client window
   void unfocus();
-  
+
   virtual void focusHandler(const XFocusChangeEvent &e);
   virtual void unfocusHandler(const XFocusChangeEvent &e);
   virtual void propertyHandler(const XPropertyEvent &e);
   virtual void clientMessageHandler(const XClientMessageEvent &e);
-  virtual void shapeHandler(const XShapeEvent &e);
   virtual void configureRequestHandler(const XConfigureRequestEvent &e);
   virtual void unmapHandler(const XUnmapEvent &e);
   virtual void destroyHandler(const XDestroyWindowEvent &e);
   virtual void reparentHandler(const XReparentEvent &e);
+#if defined(SHAPE)
+  virtual void shapeHandler(const XShapeEvent &e);
+#endif // SHAPE 
 };
 
 }
This page took 0.023845 seconds and 4 git commands to generate.