]> Dogcows Code - chaz/openbox/blobdiff - src/frame.hh
split up widget and basewidget
[chaz/openbox] / src / frame.hh
index ff6a21ad0becd3ab9db8d8f74fbdc440b6adf4c4..1816ad011ef17f39b30ebe6fc66100dd2977c073 100644 (file)
@@ -25,8 +25,16 @@ 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 {
+public:
+
+  //! The event mask to grab on frame windows
+  static const long event_mask = EnterWindowMask | LeaveWindowMask;
+
 private:
   OBClient *_client;
   const otk::ScreenInfo *_screen;
@@ -37,6 +45,9 @@ 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;
@@ -85,6 +96,10 @@ public:
   //! 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.023953 seconds and 4 git commands to generate.