ObClientIcon *icons;
/*! The number of icons in icons */
guint nicons;
+
+ guint32 user_time;
};
struct _ObAppSettings
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, gboolean user);
+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);
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).
*/
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. */