]> Dogcows Code - chaz/openbox/blobdiff - openbox/client.h
debug print
[chaz/openbox] / openbox / client.h
index ae60181c8b3f6113e6a2a453bc2dfef9b394f774..f9a194831a3b4da8666d81d83960ff3f4da0aff5 100644 (file)
@@ -289,13 +289,17 @@ struct _ObClient
     /*! The number of icons in icons */
     guint nicons;
 
-    /* Where the window should iconify to/from */
+    /*! Where the window should iconify to/from */
     Rect icon_geometry;
 
+    /*! The time when the client last received user interaction */
     guint32 user_time;
+    /*! A separate window for the client to update it's user_time on */
+    Window  user_time_window;
 };
 
-extern GList *client_list;
+extern GList      *client_list;
+extern GHashTable *client_user_time_window_map;
 
 void client_startup(gboolean reconfig);
 void client_shutdown(gboolean reconfig);
@@ -308,10 +312,6 @@ typedef void (*ObClientCallback)(ObClient *client, gpointer data);
 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 */
@@ -338,6 +338,17 @@ gboolean client_normal(ObClient *self);
   (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);
 
@@ -453,6 +464,9 @@ void client_maximize(ObClient *self, gboolean max, gint dir);
 */
 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);
 
@@ -464,13 +478,9 @@ void client_kill(ObClient *self);
 
 /*! 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);
@@ -579,6 +589,8 @@ void client_update_strut(ObClient *self);
 void client_update_icons(ObClient *self);
 /*! Updates the window's user time */
 void client_update_user_time(ObClient *self);
+/*! Updates the window's user time window */
+void client_update_user_time_window(ObClient *self);
 /*! Updates the window's icon geometry (where to iconify to/from) */
 void client_update_icon_geometry(ObClient *self);
 
@@ -650,23 +662,16 @@ ObClient *client_search_transient(ObClient *self, ObClient *search);
 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
This page took 0.022346 seconds and 4 git commands to generate.