gint w, gint h);
#define client_move(self, x, y) \
- client_configure(self, x, y, self->area.width, self->area.height, TRUE, TRUE)
+ client_configure(self, x, y, self->area.width, self->area.height, TRUE, TRUE,\
+ FALSE)
#define client_resize(self, w, h) \
- client_configure(self, self->area.x, self->area.y, w, h, TRUE, TRUE)
+ client_configure(self, self->area.x, self->area.y, w, h, TRUE, TRUE, FALSE)
#define client_move_resize(self, x, y, w, h) \
- client_configure(self, x, y, w, h, TRUE, TRUE)
+ client_configure(self, x, y, w, h, TRUE, TRUE, FALSE)
+#define client_reconfigure(self, force) \
+ client_configure(self, ((ObClient*)self)->area.x, ((ObClient*)self)->area.y, \
+ ((ObClient*)self)->area.width, \
+ ((ObClient*)self)->area.height, FALSE, TRUE, force)
/*! 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.
+ These values are what client_configure will give the window.
@param x The x coordiante of the new position for the client.
@param y The y coordiante of the new position for the client.
interactive move/resize, and then be TRUE for the last call
only.
@param force_reply Send a ConfigureNotify to the client regardless of if
- the position changed.
+ the position/size changed.
*/
void client_configure(ObClient *self, gint x, gint y, gint w, gint h,
- gboolean user, gboolean final);
-
-void client_reconfigure(ObClient *self, gboolean force);
+ gboolean user, gboolean final, gboolean force_reply);
/*! Finds coordinates to keep a client on the screen.
@param self The client
/*! Sends the window to the specified desktop
@param donthide If TRUE, the window will not be shown/hidden after its
desktop has been changed. Generally this should be FALSE.
+ @param dontraise If TRUE, the window will not be raised. Generally this should
+ be FALSE.
*/
-void client_set_desktop(ObClient *self, guint target, gboolean donthide);
+void client_set_desktop(ObClient *self, guint target, gboolean donthide,
+ gboolean dontraise);
/*! Show the client if it should be shown. Returns if the window is shown. */
gboolean client_show(ObClient *self);
when the user deliberately selects a window for use.
@param here If true, then the client is brought to the current desktop;
otherwise, the desktop is changed to where the client lives.
+ @param raise If true, the client is brought to the front.
+ @param unshade If true, the client is unshaded (if it is shaded)
@param user If true, then a user action is what requested the activation;
otherwise, it means an application requested it on its own
*/
-void client_activate(ObClient *self, gboolean here, gboolean user);
+void client_activate(ObClient *self, gboolean here, gboolean raise,
+ gboolean unshade, gboolean user);
/*! Bring all of its helper windows to its desktop. These are the utility and
stuff windows. */
const ObClientIcon *client_icon(ObClient *self, gint w, gint h);
+ObClientIcon *client_thumbnail(ObClient *self, gint w, gint h);
+
/*! Return TRUE if the client is transient for some other window. Return
FALSE if it's not transient or there is no window for it to be
transient for */
gboolean client_has_group_siblings(ObClient *self);
+void clienticon_free(ObClientIcon *ci);
+
#endif