X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fclient.h;h=bb783458cee5ea2eaf9a32ad24ba3933d0040ad0;hb=a07465f376b0a33270532501127ec812efe2c2b2;hp=812d0ac5e7bf701cca57298b7f941ce072688a33;hpb=99c6a00cf6cae461f45d8fd3e852a9479f3694bc;p=chaz%2Fopenbox diff --git a/openbox/client.h b/openbox/client.h index 812d0ac5..bb783458 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 @@ -547,10 +550,13 @@ gboolean client_focus(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. */ @@ -608,6 +614,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 */ @@ -692,4 +700,6 @@ ObClient* client_under_pointer(); gboolean client_has_group_siblings(ObClient *self); +void clienticon_free(ObClientIcon *ci); + #endif