Set _NET_WM_PID attribute - st - Simple Terminal
Log
Files
Refs
README
LICENSE
---
commit 39f28b18b76b9dc8353ae399cb8a99f13f9de2c2
parent 2738592de6d1b53e1f5aa896c8fd3bb5a4204749
Author: Eric Pruitt 
Date:   Wed, 11 Dec 2013 07:10:08 -0600

Set _NET_WM_PID attribute

Diffstat:
  st.c                                |       7 ++++++-

1 file changed, 6 insertions(+), 1 deletion(-)
---
diff --git a/st.c b/st.c
@@ -240,7 +240,7 @@ typedef struct {
         Colourmap cmap;
         Window win;
         Drawable buf;
-        Atom xembed, wmdeletewin, netwmname;
+        Atom xembed, wmdeletewin, netwmname, netwmpid;
         XIM xim;
         XIC xic;
         Draw draw;
@@ -2933,6 +2933,7 @@ xinit(void) {
         Cursor cursor;
         Window parent;
         int sw, sh;
+        pid_t thispid = getpid();
 
         if(!(xw.dpy = XOpenDisplay(NULL)))
                 die("Can't open display\n");
@@ -3027,6 +3028,10 @@ xinit(void) {
         xw.netwmname = XInternAtom(xw.dpy, "_NET_WM_NAME", False);
         XSetWMProtocols(xw.dpy, xw.win, &xw.wmdeletewin, 1);
 
+        xw.netwmpid = XInternAtom(xw.dpy, "_NET_WM_PID", False);
+        XChangeProperty(xw.dpy, xw.win, xw.netwmpid, XA_CARDINAL, 32,
+                        PropModeReplace, (unsigned char *)&thispid, 1);
+
         xresettitle();
         XMapWindow(xw.dpy, xw.win);
         xhints();