From 329f82f6e762b11a4045a029445912e43df40c04 Mon Sep 17 00:00:00 2001 From: David Maciejak Date: Sun, 22 Mar 2026 16:31:54 -0400 Subject: [PATCH] WPrefs: set the PID of the application to the window This patch is setting the _NET_WM_PID atom for WPrefs to report its PID. Before the patch, the PID reported is unset (0) $ wmctrl -lp|grep 'Window Maker Preferences' 0x00a000b0 0 0 Linux Window Maker Preferences After the patch, the PID is set (20110 in the example below) 0x00a000b0 0 20110 Linux Window Maker Preference --- WPrefs.app/WPrefs.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/WPrefs.app/WPrefs.c b/WPrefs.app/WPrefs.c index cbffa5af..a34b9e84 100644 --- a/WPrefs.app/WPrefs.c +++ b/WPrefs.app/WPrefs.c @@ -23,6 +23,7 @@ #include "WPrefs.h" #include +#include #ifdef HAVE_STDNORETURN #include @@ -516,6 +517,9 @@ void Initialize(WMScreen * scr) char **list; int i; char *path; + long pid; + Atom net_wm_pid; + Display *dpy = WMScreenDisplay(scr); list = RSupportedFileFormats(); for (i = 0; list[i] != NULL; i++) { @@ -547,6 +551,11 @@ void Initialize(WMScreen * scr) WMRealizeWidget(WPrefs.win); + net_wm_pid = XInternAtom(dpy, "_NET_WM_PID", False); + pid = (long)getpid(); + XChangeProperty(dpy, WMWidgetXID(WPrefs.win), net_wm_pid, XA_CARDINAL, + 32, PropModeReplace, (unsigned char *)&pid, 1); + WMSetWindowMiniwindowImage(WPrefs.win, WMGetApplicationIconImage(scr)); WMMapWidget(WPrefs.win);