X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fclient.h;h=b30db198af8ea42665cc31ddcc9256756d20af6d;hb=828d06f271392abbef75bb37e2635b2085bdef90;hp=a334ad2bf37ba1b32e1b85e8ec5478da0ce98e9f;hpb=15d615853671b0988b9a87720cac2762c702f28b;p=chaz%2Fopenbox diff --git a/openbox/client.h b/openbox/client.h index a334ad2b..b30db198 100644 --- a/openbox/client.h +++ b/openbox/client.h @@ -379,16 +379,21 @@ void client_convert_gravity_resize(ObClient *self, gint gravity, 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. @@ -422,12 +427,10 @@ void client_try_configure(ObClient *self, gint *x, gint *y, gint *w, gint *h, 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 @@ -496,8 +499,11 @@ void client_kill(ObClient *self); /*! 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); @@ -605,6 +611,8 @@ void client_get_type_and_transientness(ObClient *self); 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 */ @@ -689,4 +697,6 @@ ObClient* client_under_pointer(); gboolean client_has_group_siblings(ObClient *self); +void clienticon_free(ObClientIcon *ci); + #endif