/* Returns if the window is focused */
gboolean client_focused(ObClient *self);
+/*! Convery a position/size from a given gravity to the client's true gravity
+ */
+void client_convert_gravity(ObClient *client, gint gravity, gint *x, gint *y,
+ gint w, gint h);
+
#define client_move(self, x, y) \
- client_configure(self, OB_CORNER_TOPLEFT, x, y, \
- self->area.width, self->area.height, \
+ client_configure(self, x, y, self->area.width, self->area.height, \
TRUE, TRUE)
#define client_resize(self, w, h) \
- client_configure(self, OB_CORNER_TOPLEFT, self->area.x, self->area.y, \
- w, h, TRUE, TRUE)
+ client_configure(self, self->area.x, self->area.y, w, h, TRUE, TRUE)
#define client_move_resize(self, x, y, w, h) \
- client_configure(self, OB_CORNER_TOPLEFT, x, y, w, h, TRUE, TRUE)
+ client_configure(self, x, y, w, h, TRUE, TRUE)
-#define client_configure(self, anchor, x, y, w, h, user, final) \
- client_configure_full(self, anchor, x, y, w, h, user, final, FALSE)
+#define client_configure(self, x, y, w, h, user, final) \
+ client_configure_full(self, x, y, w, h, user, final, FALSE)
/*! Figure out where a window will end up and what size it will be if you
told it to move/resize to these coordinates.
These values are what client_configure_full will give the window.
- @param anchor The corner to keep in the same position when resizing.
@param x The x coordiante of the new position for the client.
@param y The y coordiante of the new position for the client.
@param w The width component of the new size for the client.
program requested change. For program requested changes, the
constraints are not checked.
*/
-void client_try_configure(ObClient *self, ObCorner anchor,
- gint *x, gint *y, gint *w, gint *h,
+void client_try_configure(ObClient *self, gint *x, gint *y, gint *w, gint *h,
gint *logicalw, gint *logicalh,
gboolean user);
/*! Move and/or resize the window.
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 coordiante of the new position for the client.
@param y The y coordiante of the new position for the client.
@param w The width component of the new size for the client.
@param force_reply Send a ConfigureNotify to the client regardless of if
the position changed.
*/
-void client_configure_full(ObClient *self, ObCorner anchor,
- gint x, gint y, gint w, gint h,
+void client_configure_full(ObClient *self, gint x, gint y, gint w, gint h,
gboolean user, gboolean final,
gboolean force_reply);