/*! Can the window receive input focus? */
gboolean can_focus;
- /*! Urgency flag */
- gboolean urgent;
/*! Notify the window when it receives focus? */
gboolean focus_notify;
/*! 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. */
ObClientIcon *icons;
/*! The number of icons in icons */
guint nicons;
+
+ guint32 user_time;
};
struct _ObAppSettings
*/
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);
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);
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. */