#include "mwm.h"
#include "geom.h"
#include "stacking.h"
+#include "window.h"
#include "render/color.h"
#include <glib.h>
#include <X11/Xlib.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h> /* for pid_t */
+#endif
+
struct _ObFrame;
struct _ObGroup;
struct _ObSessionState;
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;
/*! 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;
/*! 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;
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();