forked from AuroraMiddleware/gtk
x11: Don't set NET_WM_PID when sandboxed
It is not useful, and some window managers misinterpret it and add some "runs as root" indication to the window decoration. See https://github.com/mate-desktop/marco/issues/301
This commit is contained in:
parent
929a19ca89
commit
a73fa04e92
@ -1555,7 +1555,6 @@ _gdk_x11_display_open (const gchar *display_name)
|
|||||||
gchar *argv[1];
|
gchar *argv[1];
|
||||||
|
|
||||||
XClassHint *class_hint;
|
XClassHint *class_hint;
|
||||||
gulong pid;
|
|
||||||
gint ignore;
|
gint ignore;
|
||||||
gint maj, min;
|
gint maj, min;
|
||||||
|
|
||||||
@ -1726,11 +1725,15 @@ _gdk_x11_display_open (const gchar *display_name)
|
|||||||
if (gdk_sm_client_id)
|
if (gdk_sm_client_id)
|
||||||
set_sm_client_id (display, gdk_sm_client_id);
|
set_sm_client_id (display, gdk_sm_client_id);
|
||||||
|
|
||||||
pid = getpid ();
|
if (!gdk_running_in_sandbox ())
|
||||||
XChangeProperty (display_x11->xdisplay,
|
{
|
||||||
display_x11->leader_window,
|
/* if sandboxed, we're likely in a pid namespace and would only confuse the wm with this */
|
||||||
gdk_x11_get_xatom_by_name_for_display (display, "_NET_WM_PID"),
|
pid_t pid = getpid ();
|
||||||
XA_CARDINAL, 32, PropModeReplace, (guchar *) & pid, 1);
|
XChangeProperty (display_x11->xdisplay,
|
||||||
|
display_x11->leader_window,
|
||||||
|
gdk_x11_get_xatom_by_name_for_display (display, "_NET_WM_PID"),
|
||||||
|
XA_CARDINAL, 32, PropModeReplace, (guchar *) & pid, 1);
|
||||||
|
}
|
||||||
|
|
||||||
/* We don't yet know a valid time. */
|
/* We don't yet know a valid time. */
|
||||||
display_x11->user_time = 0;
|
display_x11->user_time = 0;
|
||||||
|
@ -902,7 +902,6 @@ setup_toplevel_window (GdkWindow *window,
|
|||||||
XID xid = GDK_WINDOW_XID (window);
|
XID xid = GDK_WINDOW_XID (window);
|
||||||
GdkX11Screen *x11_screen = GDK_X11_SCREEN (GDK_WINDOW_SCREEN (parent));
|
GdkX11Screen *x11_screen = GDK_X11_SCREEN (GDK_WINDOW_SCREEN (parent));
|
||||||
XSizeHints size_hints;
|
XSizeHints size_hints;
|
||||||
long pid;
|
|
||||||
Window leader_window;
|
Window leader_window;
|
||||||
|
|
||||||
set_wm_protocols (window);
|
set_wm_protocols (window);
|
||||||
@ -933,12 +932,16 @@ setup_toplevel_window (GdkWindow *window,
|
|||||||
/* This will set WM_CLIENT_MACHINE and WM_LOCALE_NAME */
|
/* This will set WM_CLIENT_MACHINE and WM_LOCALE_NAME */
|
||||||
XSetWMProperties (xdisplay, xid, NULL, NULL, NULL, 0, NULL, NULL, NULL);
|
XSetWMProperties (xdisplay, xid, NULL, NULL, NULL, 0, NULL, NULL, NULL);
|
||||||
|
|
||||||
pid = getpid ();
|
if (!gdk_running_in_sandbox ())
|
||||||
XChangeProperty (xdisplay, xid,
|
{
|
||||||
gdk_x11_get_xatom_by_name_for_display (x11_screen->display, "_NET_WM_PID"),
|
/* if sandboxed, we're likely in a pid namespace and would only confuse the wm with this */
|
||||||
XA_CARDINAL, 32,
|
pid_t pid = getpid ();
|
||||||
PropModeReplace,
|
XChangeProperty (xdisplay, xid,
|
||||||
(guchar *)&pid, 1);
|
gdk_x11_get_xatom_by_name_for_display (x11_screen->display, "_NET_WM_PID"),
|
||||||
|
XA_CARDINAL, 32,
|
||||||
|
PropModeReplace,
|
||||||
|
(guchar *)&pid, 1);
|
||||||
|
}
|
||||||
|
|
||||||
leader_window = GDK_X11_DISPLAY (x11_screen->display)->leader_window;
|
leader_window = GDK_X11_DISPLAY (x11_screen->display)->leader_window;
|
||||||
if (!leader_window)
|
if (!leader_window)
|
||||||
|
Loading…
Reference in New Issue
Block a user