X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fclient.h;h=a27d37c684acee50f5e674cd6687ab0eb8aa9a3b;hb=464e4c59cba073a7e8648fe587487c775708f0d7;hp=49ff72bcdc204599963c1d76a7cf66047c43e0bd;hpb=d790dc162d24cfdcc236114b50c51af62612646a;p=chaz%2Fopenbox diff --git a/openbox/client.h b/openbox/client.h index 49ff72bc..a27d37c6 100644 --- a/openbox/client.h +++ b/openbox/client.h @@ -30,6 +30,10 @@ #include #include +#ifdef HAVE_SYS_TYPES_H +# include /* for pid_t */ +#endif + struct _ObFrame; struct _ObGroup; struct _ObSessionState; @@ -115,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; @@ -222,6 +228,11 @@ struct _ObClient /*! 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 */ @@ -293,6 +304,9 @@ struct _ObClient /*! Where the window should iconify to/from */ Rect icon_geometry; + + /*! A boolean used for algorithms which need to mark clients as visited */ + gboolean visited; }; extern GList *client_list; @@ -308,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();