Set _NET_WM_PID attribute
authorEric Pruitt <eric.pruitt@gmail.com>
Wed, 11 Dec 2013 13:10:08 +0000 (07:10 -0600)
committerRoberto E. Vargas Caballero <k0ga@shike2.com>
Wed, 11 Dec 2013 20:33:52 +0000 (21:33 +0100)
st.c

diff --git a/st.c b/st.c
index 91eb2cc..f883ac1 100644 (file)
--- 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();