Set _NET_WM_PID attribute - st - Simple Terminal
       
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 39f28b18b76b9dc8353ae399cb8a99f13f9de2c2
 (DIR) parent 2738592de6d1b53e1f5aa896c8fd3bb5a4204749
 (HTM) Author: Eric Pruitt <eric.pruitt@gmail.com>
       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(-)
       ---
 (DIR) 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();