#include <X11/Xlib.h>
}
+#include "client.hh"
#include "python.hh"
#include "otk/strut.hh"
#include "otk/rect.hh"
namespace ob {
-class Client;
-
//! Varius geometry settings in the frame decorations
struct FrameGeometry {
int width; // title and handle
otk::Rect _area;
bool _visible;
+
+ //! The decorations that are being displayed in the frame.
+ Client::DecorationFlags _decorations;
// decoration windows
Window _frame; // sits under everything
otk::Surface *_icon_sur;
otk::Surface *_close_sur;
- std::string _layout; // layout of the titlebar
+ otk::ustring _layout; // layout of the titlebar
+
bool _max_press;
bool _desk_press;
bool _iconify_press;
bool _icon_press;
bool _close_press;
+ unsigned int _press_button; // mouse button that started the press
FrameGeometry geom;
void adjustState();
void adjustFocus();
void adjustTitle();
+ void adjustIcon();
//! Applies gravity to the client's position to find where the frame should
//! be positioned.
//! Hides the frame
void hide();
+ void buttonPressHandler(const XButtonEvent &e);
+ void buttonReleaseHandler(const XButtonEvent &e);
+
//! Returns the MouseContext for the given window id
/*!
Returns '-1' if no valid mouse context exists in the frame for the given