X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fclient.h;h=5830066efd5c78508feda3864190052cb360fe05;hb=b7ddaa5728b5449449e3ea14cf84252285bbc794;hp=5e26ef30ea9690ccfabd7bc97ee9774be164f1a2;hpb=d81d54c7a977a034199f24fc8fa7433e634aaf91;p=chaz%2Fopenbox diff --git a/openbox/client.h b/openbox/client.h index 5e26ef30..5830066e 100644 --- a/openbox/client.h +++ b/openbox/client.h @@ -25,7 +25,7 @@ #include "geom.h" #include "stacking.h" #include "window.h" -#include "render/color.h" +#include "obrender/color.h" #include #include @@ -73,6 +73,7 @@ struct _ObClient { ObWindow obwin; Window window; + gboolean managed; /*! If this client is managing an ObPrompt window, then this is set to the prompt */ @@ -146,6 +147,9 @@ struct _ObClient Rect pre_max_area; /*! Position and size of the window prior to being fullscreened */ Rect pre_fullscreen_area; + /*! Remember if the window was maximized before going fullscreen */ + gboolean pre_fullscreen_max_horz, + pre_fullscreen_max_vert; /*! The window's strut The strut defines areas of the screen that are marked off-bounds for @@ -246,6 +250,8 @@ struct _ObClient /*! The window uses shape extension to be non-rectangular? */ gboolean shaped; + /*! The window uses shape extension to have non-rectangular input? */ + gboolean shaped_input; /*! The window is modal, so it must be processed before any windows it is related to can be focused */ @@ -571,15 +577,18 @@ gboolean client_focus(ObClient *self); /*! Activates the client for use, focusing, uniconifying it, etc. To be used 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 desktop If true, and the window is on another desktop, it will still + be activated. + @param here If true, and the window is on another desktop, it will be moved + to the current desktop, otherwise the desktop will switch to + where the window is. @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 raise, - gboolean unshade, gboolean user); +void client_activate(ObClient *self, gboolean desktop, gboolean here, + gboolean raise, gboolean unshade, gboolean user); /*! Bring all of its helper windows to its desktop. These are the utility and stuff windows. */ @@ -630,6 +639,8 @@ void client_setup_decor_and_functions(ObClient *self, gboolean reconfig); /*! Sets the window's type and transient flag */ void client_get_type_and_transientness(ObClient *self); +/*! Gets the motif wm hints */ +void client_get_mwm_hints(ObClient *self); /*! Returns a client's icon set, or its parents (recursively) if it doesn't have one