diff --git a/src/winwidget.c b/src/winwidget.c index f2496947bc15843c966d140ce5b09e9c132a1709..71d0b145f59c0e1d3f5dcb04a5dfc34411379280 100644 --- a/src/winwidget.c +++ b/src/winwidget.c @@ -311,15 +311,21 @@ void winwidget_create_window(winwidget ret, int w, int h) void winwidget_update_title(winwidget ret) { char *name; + pid_t pid; Atom prop_name = XInternAtom(disp, "_NET_WM_NAME", False); + Atom prop_pid = XInternAtom(disp, "_NET_WM_PID", False); Atom prop_icon = XInternAtom(disp, "_NET_WM_ICON_NAME", False); Atom prop_utf8 = XInternAtom(disp, "UTF8_STRING", False); D(("winwid->name = %s\n", ret->name)); name = ret->name ? ret->name : "feh"; + pid = getpid(); XStoreName(disp, ret->win, name); XSetIconName(disp, ret->win, name); + XChangeProperty(disp, ret->win, prop_pid, XA_CARDINAL, sizeof(pid_t) * 8, + PropModeReplace, (const unsigned char *)&pid, 1); + XChangeProperty(disp, ret->win, prop_name, prop_utf8, 8, PropModeReplace, (const unsigned char *)name, strlen(name));