X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fclient.h;h=b418964dcedc9c98e1844dcc2f96cfc910b35547;hb=baa4a878cda78cf7ef9a894b8937c72fa50c897a;hp=9702bb198bec38544fbb25937ca9e5fe8e9b62a4;hpb=b18846db698e5aaec6b27633b7a6361d13f7de69;p=chaz%2Fopenbox diff --git a/openbox/client.h b/openbox/client.h index 9702bb19..b418964d 100644 --- a/openbox/client.h +++ b/openbox/client.h @@ -211,8 +211,6 @@ struct _ObClient /*! Can the window receive input focus? */ gboolean can_focus; - /*! Urgency flag */ - gboolean urgent; /*! Notify the window when it receives focus? */ gboolean focus_notify; @@ -243,6 +241,8 @@ struct _ObClient /*! The window should be underneath other windows of the same type. above takes priority over below. */ gboolean below; + /*! Demands attention flag */ + gboolean demands_attention; /*! The layer in which the window will be stacked, windows in lower layers are always below windows in higher layers. */ @@ -269,6 +269,8 @@ struct _ObClient ObClientIcon *icons; /*! The number of icons in icons */ guint nicons; + + guint32 user_time; }; struct _ObAppSettings @@ -429,6 +431,9 @@ void client_maximize(ObClient *self, gboolean max, gint dir, */ void client_shade(ObClient *self, gboolean shade); +/*! Hilite the window to make the user notice it */ +void client_hilite(ObClient *self, gboolean hilite); + /*! Request the client to close its window */ void client_close(ObClient *self); @@ -477,8 +482,11 @@ void client_unfocus(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 user If true, then a user action is what requested the activation; + otherwise, it means an application requested it on its own + @param timestamp The time at which the activate was requested. */ -void client_activate(ObClient *self, gboolean here); +void client_activate(ObClient *self, gboolean here, gboolean user, Time time); /*! Calculates the stacking layer for the client window */ void client_calc_layer(ObClient *self); @@ -525,6 +533,8 @@ void client_update_class(ObClient *self); void client_update_strut(ObClient *self); /*! Updates the window's icons */ void client_update_icons(ObClient *self); +/*! Updates the window's user time */ +void client_update_user_time(ObClient *self, gboolean new_event); /*! Set up what decor should be shown on the window and what functions should be allowed (ObClient::decorations and ObClient::functions). @@ -561,7 +571,11 @@ ObClient *client_search_focus_tree_full(ObClient *self); */ ObClient *client_search_modal_child(ObClient *self); -ObClient *client_search_top_transient(ObClient *self); +/*! Returns a list of top-level windows which this is a transient for. + It will only contain more than 1 element if the client is transient for its + group. +*/ +GSList *client_search_top_transients(ObClient *self); /*! Search for a parent of a client. This only searches up *ONE LEVEL*, and returns the searched for parent if it is a parent, or NULL if not. */