From d790dc162d24cfdcc236114b50c51af62612646a Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Tue, 15 Jan 2008 20:48:28 -0500 Subject: [PATCH] check if a client will respond to pings --- openbox/client.c | 4 ++++ openbox/client.h | 3 +++ openbox/prop.c | 2 +- openbox/prop.h | 2 +- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/openbox/client.c b/openbox/client.c index 5e4e52e..7019f69 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -1507,6 +1507,10 @@ void client_update_protocols(ObClient *self) /* if this protocol is requested, then the window will be notified whenever we want it to receive focus */ self->focus_notify = TRUE; + else if (proto[i] == prop_atoms.net_wm_ping) + /* if this protocol is requested, then the window will allow + pings to determine if it is still alive */ + self->ping = TRUE; #ifdef SYNC else if (proto[i] == prop_atoms.net_wm_sync_request) /* if this protocol is requested, then resizing the diff --git a/openbox/client.h b/openbox/client.h index e83a6b7..49ff72b 100644 --- a/openbox/client.h +++ b/openbox/client.h @@ -220,6 +220,9 @@ struct _ObClient /*! Notify the window when it receives focus? */ gboolean focus_notify; + /*! Will the client respond to pings? */ + gboolean ping; + #ifdef SYNC /*! The client wants to sync during resizes */ gboolean sync_request; diff --git a/openbox/prop.c b/openbox/prop.c index 44abdfe..1e343e1 100644 --- a/openbox/prop.c +++ b/openbox/prop.c @@ -98,7 +98,7 @@ void prop_startup(void) CREATE(kde_net_wm_frame_strut, "_KDE_NET_WM_FRAME_STRUT"); CREATE(net_frame_extents, "_NET_FRAME_EXTENTS"); -/* CREATE(net_wm_ping, "_NET_WM_PING"); */ + CREATE(net_wm_ping, "_NET_WM_PING"); #ifdef SYNC CREATE(net_wm_sync_request, "_NET_WM_SYNC_REQUEST"); CREATE(net_wm_sync_request_counter, "_NET_WM_SYNC_REQUEST_COUNTER"); diff --git a/openbox/prop.h b/openbox/prop.h index f0c4f5e..fd12f98 100644 --- a/openbox/prop.h +++ b/openbox/prop.h @@ -136,7 +136,7 @@ typedef struct Atoms { Atom net_frame_extents; /* application protocols */ -/* Atom net_wm_ping; */ + Atom net_wm_ping; #ifdef SYNC Atom net_wm_sync_request; Atom net_wm_sync_request_counter; -- 1.9.1