void client_add_destructor(ObClientCallback func, gpointer data);
void client_remove_destructor(ObClientCallback func);
-/*! Get notified when the client changes desktop */
-void client_add_desktop_notify(ObClientCallback func, gpointer data);
-void client_remove_desktop_notify(ObClientCallback func);
-
/*! Manages all existing windows */
void client_manage_all();
/*! Manages a given window */
(utilty, menu, etc) */
gboolean client_helper(ObClient *self);
+/*! Return if the client is a type which should be given focus from mouse
+ presses on the *client* window. This doesn't affect clicking on the
+ decorations. This doesn't count for focus cycling, different rules apply to
+ that. */
+gboolean client_mouse_focusable(ObClient *self);
+
+/*! Return if the client is a type which should be given focus from the
+ mouse entering the window. This doesn't count for focus cycling, different
+ rules apply to that. */
+gboolean client_enter_focusable(ObClient *self);
+
/* Returns if the window is focused */
gboolean client_focused(ObClient *self);
*/
void client_shade(ObClient *self, gboolean shade);
+/*! Set a client window to have decorations or not */
+void client_set_undecorated(ObClient *self, gboolean undecorated);
+
/*! Hilite the window to make the user notice it */
void client_hilite(ObClient *self, gboolean hilite);
/*! Sends the window to the specified desktop
@param donthide If TRUE, the window will not be shown/hidden after its
- desktop has been changed. Generally this should be FALSE.
- @param focus_nonintrusive If TRUE, the window will not be moved in the
- focus order at all. Do this when moving windows to a desktop in
- the "background" or something. It can be used to make a window share
- multiple desktops. Generally this should be FALSE. */
-void client_set_desktop(ObClient *self, guint target,
- gboolean donthide, gboolean focus_nonintrusive);
+ desktop has been changed. Generally this should be FALSE.
+*/
+void client_set_desktop(ObClient *self, guint target, gboolean donthide);
/*! Show the client if it should be shown. */
void client_show(ObClient *self);
gint client_directional_edge_search(ObClient *c, ObDirection dir, gboolean hang);
/*! Set a client window to be above/below other clients.
- @layer < 0 indicates the client should be placed below other clients.<br>
- = 0 indicates the client should be placed with other clients.<br>
+ @layer < 0 indicates the client should be placed below other clients.<br />
+ = 0 indicates the client should be placed with other clients.<br />
> 0 indicates the client should be placed above other clients.
*/
void client_set_layer(ObClient *self, gint layer);
-/*! Set a client window to have decorations or not */
-void client_set_undecorated(ObClient *self, gboolean undecorated);
-
guint client_monitor(ObClient *self);
ObClient* client_under_pointer();
gboolean client_has_group_siblings(ObClient *self);
-/*! Returns if a client has an group siblings which are main application
- windows (not helper or non-normal windows) */
-gboolean client_has_non_helper_group_siblings(ObClient *self);
-
#endif