Subject: [PATCH] X11: Added support to _NET_WM_PID and WM_CLIENT_MACHINE atoms Date: Tue, 28 Jun 2011 22:27:13 +0200 From: Marco Trevisan (Treviño) # HG changeset patch # User Marco Trevisan (Treviño) # Date 1309292807 -7200 # Branch SDL-1.2 # Node ID aa87bdcb6f5b3fdc83fbceda566705457fbcc2d1 # Parent 80ae1ac3bdc9cbcc2932b6cfcfc322320f0d819d X11: Added support to _NET_WM_PID and WM_CLIENT_MACHINE atoms Add support to the _NET_WM_PID atom which is needed by many windows managers to correctly associate a SDL window to its process and to related .desktop file and icon for the given host. diff -r 80ae1ac3bdc9 -r aa87bdcb6f5b src/video/x11/SDL_x11video.c --- a/src/video/x11/SDL_x11video.c Sat Jun 04 15:34:32 2011 -0400 +++ b/src/video/x11/SDL_x11video.c Tue Jun 28 22:26:47 2011 +0200 @@ -417,6 +417,25 @@ } } + { + char hostname[256]; + + if (gethostname(hostname, sizeof(hostname)) > -1) { + hostname[sizeof(hostname)-1] = '\0'; + pid_t pid = getpid(); + + if (pid > 0) { + Atom _NET_WM_PID = XInternAtom(SDL_Display, "_NET_WM_PID", False); + Atom WM_CLIENT_MACHINE = XInternAtom(SDL_Display, "WM_CLIENT_MACHINE", False); + + XChangeProperty(SDL_Display, WMwindow, _NET_WM_PID, XA_CARDINAL, 32, + PropModeReplace, (unsigned char *)&pid, 1); + XChangeProperty(SDL_Display, WMwindow, WM_CLIENT_MACHINE, XA_STRING, 8, + PropModeReplace, hostname, SDL_strlen(hostname)); + } + } + } + /* Setup the communication with the IM server */ /* create_aux_windows may be called several times against the same Display. We should reuse the SDL_IM if one has been opened for