]> Dogcows Code - chaz/openbox/blobdiff - src/frame.hh
unmap works.. once
[chaz/openbox] / src / frame.hh
index 9e3f3822b93f172874e73e8d09a4e0de517a45ba..e1647a991e2e7243722d5d2a61617ecb764ef56b 100644 (file)
@@ -25,6 +25,9 @@ namespace ob {
 
 //! Holds and decorates a frame around an OBClient (client window)
 /*!
+  The frame is responsible for calling XSelectInput on the client window's new
+  parent with the SubstructureRedirectMask so that structure events for the
+  client are sent to the window manager.
 */
 class OBFrame : public otk::OtkWidget {
 private:
@@ -37,7 +40,11 @@ private:
   //! The size of the frame on each side of the client window
   otk::Strut _size;
 
+  //! The size of the frame on each side of the client window inside the border
+  otk::Strut _innersize;
+
   // decoration windows
+  otk::OtkFocusWidget _plate;   // sits entirely under the client window
   otk::OtkFocusWidget _titlebar;
   otk::OtkButton      _button_close;
   otk::OtkButton      _button_iconify;
@@ -55,11 +62,6 @@ private:
   */
   OBClient::DecorationFlags _decorations;
 
-  //! Creates the base frame window
-  Window createFrame();
-  //! Creates a child frame decoration element window
-  Window createChild(Window parent, Cursor cursor);
-
   //! Reparents the client window from the root window onto the frame
   void grabClient();
   //! Reparents the client window back to the root window
@@ -84,7 +86,15 @@ public:
   //! Update the frame to match the client
   void adjust();
   //! Shape the frame window to the client window
-  void adjustShape(); 
+  void adjustShape();
+
+  //! Applies gravity for the client's gravity, moving the frame to the
+  //! appropriate place
+  void applyGravity();
+
+  //! Reversely applies gravity for the client's gravity, moving the frame so
+  //! that the client is in its pre-gravity position
+  void reverseGravity();
 };
 
 }
This page took 0.023317 seconds and 4 git commands to generate.