]> Dogcows Code - chaz/openbox/blobdiff - src/frame.hh
shape works again. updating the delete_window protocol update the decor.
[chaz/openbox] / src / frame.hh
index 5268512f44c9c9fe8f6d7ff3b997b37a67d42c0e..a36a6eec531cbe3ea46c318bb5ae67da81ff6590 100644 (file)
@@ -33,10 +33,8 @@ class OBFrame : public otk::OtkWidget, public OBWidget {
 public:
 
   //! The event mask to grab on frame windows
-  static const long event_mask = EnterWindowMask | LeaveWindowMask |
-                                 ButtonPressMask | ButtonReleaseMask |
-                                 ButtonMotionMask;
-
+  static const long event_mask = EnterWindowMask | LeaveWindowMask;
+   
 private:
   OBClient *_client;
   const otk::ScreenInfo *_screen;
@@ -77,9 +75,6 @@ private:
   */
   void releaseClient(bool remap);
 
-  //! Shape the frame window to the client window
-  void adjustShape();
-
 public:
   //! Constructs an OBFrame object, and reparents the client to itself
   /*!
@@ -93,10 +88,22 @@ public:
   //! Set the style to decorate the frame with
   virtual void setStyle(otk::Style *style);
 
+  //! Empty overridden method to prevent automatic alignment of children
+  virtual void adjust();
+  
+  //! Displays focused decorations
+  virtual void focus();
+  //! Displays unfocused decorations
+  virtual void unfocus();
+
+  void setTitle(const std::string &text);
   //! Update the frame's size to match the client
   void adjustSize();
   //! Update the frame's position to match the client
   void adjustPosition();
+  //! Shape the frame window to the client window
+  void adjustShape();
 
   //! Applies gravity to the client's position to find where the frame should
   //! be positioned.
@@ -112,6 +119,27 @@ public:
   */
   void frameGravity(int &x, int &y);
 
+  //! Gets the window id of the frame's "plate" subelement
+  inline Window plate() const { return _plate.window(); }
+  //! Gets the window id of the frame's "titlebar" subelement
+  inline Window titlebar() const { return _titlebar.window(); }
+  //! Gets the window id of the frame's "label" subelement
+  inline Window label() const { return _label.window(); }
+  //! Gets the window id of the frame's "close button" subelement
+  inline Window button_close() const { return _button_close.window(); }
+  //! Gets the window id of the frame's "iconify button" subelement
+  inline Window button_iconify() const { return _button_iconify.window(); }
+  //! Gets the window id of the frame's "maximize button" subelement
+  inline Window button_max() const { return _button_max.window(); }
+  //! Gets the window id of the frame's "sticky button" subelement
+  inline Window button_stick() const { return _button_stick.window(); }
+  //! Gets the window id of the frame's "handle" subelement
+  inline Window handle() const { return _handle.window(); }
+  //! Gets the window id of the frame's "left grip" subelement
+  inline Window grip_left() const { return _grip_left.window(); }
+  //! Gets the window id of the frame's "right grip" subelement
+  inline Window grip_right() const { return _grip_right.window(); }
+
 };
 
 }
This page took 0.024606 seconds and 4 git commands to generate.