瀏覽代碼

[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.
thomas.herzog 6 年之前
父節點
當前提交
4553935f27
共有 1 個文件被更改,包括 7 次插入0 次删除
  1. 7 0
      platform/x11/os_x11.cpp

+ 7 - 0
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);
 		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
 	// disable resizable window
 	if (!current_videomode.resizable && !current_videomode.fullscreen) {
 	if (!current_videomode.resizable && !current_videomode.fullscreen) {
 		XSizeHints *xsh;
 		XSizeHints *xsh;