X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fclient.h;h=5f654d7eb35a5e15c1b4d6a25a25cc99e1d17825;hb=d77c8f62f2f908cfe1d09686a35dce1ccaf65aec;hp=5942eb14db0d80fc1177d6895029e4c2646620da;hpb=740c5b2a20d5110435d0874f8cc6a4c9dfd14777;p=chaz%2Fopenbox diff --git a/openbox/client.h b/openbox/client.h index 5942eb14..5f654d7e 100644 --- a/openbox/client.h +++ b/openbox/client.h @@ -32,8 +32,9 @@ struct _ObFrame; struct _ObGroup; struct _ObSessionState; -typedef struct _ObClient ObClient; -typedef struct _ObClientIcon ObClientIcon; +typedef struct _ObClient ObClient; +typedef struct _ObClientIcon ObClientIcon; +typedef struct _ObAppSettings ObAppSettings; /* The value in client.transient_for indicating it is a transient for its group instead of for a single window */ @@ -201,9 +202,11 @@ struct _ObClient /*! True if the client supports the delete_window protocol */ gboolean delete_window; - /*! Was the window's position requested by the application? if not, we + /*! Was the window's position requested by the application or the user? + if by the application, we force it completely onscreen, if by the user + we only force it if it tries to go completely offscreen, if neither, we should place the window ourselves when it first appears */ - gboolean positioned; + guint positioned; /*! Can the window receive input focus? */ gboolean can_focus; @@ -267,6 +270,32 @@ struct _ObClient guint nicons; }; +struct _ObAppSettings +{ + gchar *class; + gchar *name; + gchar *role; + + Point position; + gboolean center_x; + gboolean center_y; + gboolean pos_given; + + guint desktop; + gint shade; + gint decor; + gint focus; + gint head; + gint iconic; + gint skip_pager; + gint skip_taskbar; + gint max_horz; + gint max_vert; + gint fullscreen; + + gint layer; +}; + extern GList *client_list; void client_startup(gboolean reconfig); @@ -324,11 +353,11 @@ gboolean client_focused(ObClient *self); @param h The height component of the new size for the client. @param user Specifies whether this is a user-requested change or a program requested change. For program requested changes, the - constraints are not checked. + constraints are not checked. @param final If user is true, then this should specify if this is a final configuration. e.g. Final should be FALSE if doing an - interactive move/resize, and then be TRUE for the last call - only. + 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. */ @@ -484,7 +513,7 @@ void client_update_normal_hints(ObClient *self); /*! Updates the WMHints and adjusts things if they change @param initstate Whether to read the initial_state property from the WMHints. This should only be used during the mapping - process. + process. */ void client_update_wmhints(ObClient *self); /*! Updates the window's title and icon title */