X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=openbox%2Fclient.h;h=a27d37c684acee50f5e674cd6687ab0eb8aa9a3b;hb=464e4c59cba073a7e8648fe587487c775708f0d7;hp=cba1aebbd901ee4fb12ab15e5bf8aa818b86d80c;hpb=77baf26a7f2f64ddf1274035fd4991ab17345904;p=chaz%2Fopenbox diff --git a/openbox/client.h b/openbox/client.h index cba1aebb..a27d37c6 100644 --- a/openbox/client.h +++ b/openbox/client.h @@ -24,11 +24,16 @@ #include "mwm.h" #include "geom.h" #include "stacking.h" +#include "window.h" #include "render/color.h" #include #include +#ifdef HAVE_SYS_TYPES_H +# include /* for pid_t */ +#endif + struct _ObFrame; struct _ObGroup; struct _ObSessionState; @@ -114,6 +119,8 @@ struct _ObClient gchar *client_machine; /*! The command used to run the program. Pre-XSMP window identification. */ gchar *wm_command; + /*! The PID of the process which owns the window */ + pid_t pid; /*! The application that created the window */ gchar *name; @@ -219,6 +226,14 @@ struct _ObClient /*! Notify the window when it receives focus? */ gboolean focus_notify; + /*! Will the client respond to pings? */ + gboolean ping; + /*! Indicates if the client is trying to close but has stopped responding + to pings */ + gboolean not_responding; + /*! We tried to close the window with a SIGTERM */ + gboolean close_tried_term; + #ifdef SYNC /*! The client wants to sync during resizes */ gboolean sync_request; @@ -290,14 +305,11 @@ struct _ObClient /*! 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; + /*! A boolean used for algorithms which need to mark clients as visited */ + gboolean visited; }; extern GList *client_list; -extern GHashTable *client_user_time_window_map; void client_startup(gboolean reconfig); void client_shutdown(gboolean reconfig); @@ -310,10 +322,7 @@ typedef void (*ObClientCallback)(ObClient *client, gpointer data); void client_add_destroy_notify(ObClientCallback func, gpointer data); void client_remove_destroy_notify(ObClientCallback func); -/*! Manages all existing windows */ -void client_manage_all(); -/*! Manages a given window -*/ +/*! Manages a given window */ void client_manage(Window win); /*! Unmanages all managed windows */ void client_unmanage_all(); @@ -606,10 +615,6 @@ void client_update_title(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); -/*! 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);