On Wed, Dec 11, 2013 at 07:42:06AM +0100, Roberto E. Vargas Caballero wrote: > pid is a variable for the pid of the slave process, so I think it > is a bit confusing using it for the pid of the master process, and > if the order of the initialization is changed we will lost the slave > pid. I think could be better to use a local variable.
I've attached a version of the patch that uses a local variable instead. Eric
>From 5eae0f52cea4f30fbe16fb68f909372ff50eda63 Mon Sep 17 00:00:00 2001 From: Eric Pruitt <eric.pru...@gmail.com> Date: Wed, 11 Dec 2013 07:10:08 -0600 Subject: [PATCH] Set _NET_WM_PID attribute --- st.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/st.c b/st.c index 91eb2cc..f883ac1 100644 --- 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(); -- 1.7.10.4