summaryrefslogtreecommitdiff
path: root/platform/x11
diff options
context:
space:
mode:
authorthomas.herzog <thomas.herzog@simedis.com>2019-09-11 10:13:48 +0200
committerthomas.herzog <thomas.herzog@simedis.com>2019-09-11 10:13:48 +0200
commit4553935f27bb635bd043434f6c8be03b4939a25d (patch)
tree891539d7166dae51a5f122bd30f2f8190ab781ed /platform/x11
parent24e1039eb6fe32115e8d1a62a84965e9be19a2ed (diff)
[X11] set PID as window attribute
This allows other programs to find out the PID of a Godot instance just by the X11 window ID.
Diffstat (limited to 'platform/x11')
-rw-r--r--platform/x11/os_x11.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp
index dfa0a45538..20502b61d9 100644
--- a/platform/x11/os_x11.cpp
+++ b/platform/x11/os_x11.cpp
@@ -378,6 +378,13 @@ Error OS_X11::initialize(const VideoMode &p_desired, int p_video_driver, int p_a
XChangeProperty(x11_display, x11_window, property, property, 32, PropModeReplace, (unsigned char *)&hints, 5);
}
+ // make PID known to X11
+ {
+ const long pid = this->get_process_id();
+ Atom net_wm_pid = XInternAtom(x11_display, "_NET_WM_PID", False);
+ XChangeProperty(x11_display, x11_window, net_wm_pid, XA_CARDINAL, 32, PropModeReplace, (unsigned char *)&pid, 1);
+ }
+
// disable resizable window
if (!current_videomode.resizable && !current_videomode.fullscreen) {
XSizeHints *xsh;