]> Dogcows Code - chaz/openbox/blobdiff - openbox/client.h
button presses which run actions during interactive actions will cancel the action.
[chaz/openbox] / openbox / client.h
index 3fab451e0e9747a1d19eb2776cf1b3053991b4f3..4ee239f0b3b5c64d7424a3f5cbaab5083feb95fa 100644 (file)
@@ -118,6 +118,8 @@ struct _ObClient
     gchar *icon_title;
     /*! Hostname of machine running the client */
     gchar *client_machine;
+    /*! The command used to run the program. Pre-XSMP window identification. */
+    gchar *wm_command;
 
     /*! The application that created the window */
     gchar *name;
@@ -293,41 +295,18 @@ struct _ObClient
     guint32 user_time;
 };
 
-struct _ObAppSettings
-{
-    gchar *class;
-    gchar *name;
-    gchar *role;
-
-    Point position;
-    gboolean center_x;
-    gboolean center_y;
-    gboolean pos_given;
-
-    guint desktop;
-    gint shade;
-    gint decor;
-    gint focus;
-    gint head;
-    gint iconic;
-    gint skip_pager;
-    gint skip_taskbar;
-    gint max_horz;
-    gint max_vert;
-    gint fullscreen;
-
-    gint layer;
-};
-
 extern GList *client_list;
 
 void client_startup(gboolean reconfig);
 void client_shutdown(gboolean reconfig);
 
-typedef void (*ObClientDestructor)(ObClient *client, gpointer data);
+typedef void (*ObClientCallback)(ObClient *client, gpointer data);
 
-void client_add_destructor(ObClientDestructor func, gpointer data);
-void client_remove_destructor(ObClientDestructor func);
+/* Callback functions */
+
+/*! Get notified when the client is unmanaged */
+void client_add_destructor(ObClientCallback func, gpointer data);
+void client_remove_destructor(ObClientCallback func);
 
 /*! Manages all existing windows */
 void client_manage_all();
@@ -351,10 +330,20 @@ gboolean client_should_show(ObClient *self);
   to them in a number of places regarding focus or user interaction. */
 gboolean client_normal(ObClient *self);
 
-/*! Returns if the window is one of an application's main windows (normal or
-  dialog type) rather than an accessory window (utilty, menu, etc) or a
-  non-normal window */
-gboolean client_application(ObClient *self);
+/*! Returns if the window is one of an application's helper windows
+  (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);
@@ -471,6 +460,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);
 
@@ -482,7 +474,8 @@ 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. */
+                  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. */
@@ -537,6 +530,10 @@ gboolean client_focus(ObClient *self);
 */
 void client_activate(ObClient *self, gboolean here, gboolean user);
 
+/*! Bring all of its helper windows to its desktop. These are the utility and
+  stuff windows. */
+void client_bring_helper_windows(ObClient *client);
+
 /*! Calculates the stacking layer for the client window */
 void client_calc_layer(ObClient *self);
 
@@ -582,8 +579,6 @@ void client_update_normal_hints(ObClient *self);
 void client_update_wmhints(ObClient *self);
 /*! Updates the window's title and icon title */
 void client_update_title(ObClient *self);
-/*! Updates the window's application name and class */
-void client_update_class(ObClient *self);
 /*! Updates the strut for the client */
 void client_update_strut(ObClient *self);
 /*! Updates the window's icons */
@@ -661,23 +656,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);
 
-void client_update_sm_client_id(ObClient *self);
-
 ObClient* client_under_pointer();
 
 gboolean client_has_group_siblings(ObClient *self);
 
-gboolean client_has_application_group_siblings(ObClient *self);
-
 #endif
This page took 0.024099 seconds and 4 git commands to generate.