1
0
mirror of https://github.com/gryf/wmaker.git synced 2026-03-25 22:33:31 +01:00

1 Commits

Author SHA1 Message Date
David Maciejak
329f82f6e7 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
2026-03-23 20:43:42 +00:00

View File

@@ -23,6 +23,7 @@
#include "WPrefs.h" #include "WPrefs.h"
#include <assert.h> #include <assert.h>
#include <X11/Xatom.h>
#ifdef HAVE_STDNORETURN #ifdef HAVE_STDNORETURN
#include <stdnoreturn.h> #include <stdnoreturn.h>
@@ -516,6 +517,9 @@ void Initialize(WMScreen * scr)
char **list; char **list;
int i; int i;
char *path; char *path;
long pid;
Atom net_wm_pid;
Display *dpy = WMScreenDisplay(scr);
list = RSupportedFileFormats(); list = RSupportedFileFormats();
for (i = 0; list[i] != NULL; i++) { for (i = 0; list[i] != NULL; i++) {
@@ -547,6 +551,11 @@ void Initialize(WMScreen * scr)
WMRealizeWidget(WPrefs.win); 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)); WMSetWindowMiniwindowImage(WPrefs.win, WMGetApplicationIconImage(scr));
WMMapWidget(WPrefs.win); WMMapWidget(WPrefs.win);