check if a client will respond to pings
authorDana Jansens <danakj@orodu.net>
Wed, 16 Jan 2008 01:48:28 +0000 (20:48 -0500)
committerDana Jansens <danakj@orodu.net>
Wed, 16 Jan 2008 01:48:28 +0000 (20:48 -0500)
openbox/client.c
openbox/client.h
openbox/prop.c
openbox/prop.h

index 5e4e52e..7019f69 100644 (file)
@@ -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
index e83a6b7..49ff72b 100644 (file)
@@ -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;
index 44abdfe..1e343e1 100644 (file)
@@ -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");
index f0c4f5e..fd12f98 100644 (file)
@@ -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;