Bug 589260 - Don't replace panel in Xephyr mode
Avoid grabbing the org.gnome.Panel name if we're running in Xephyr, since that affects the main desktop.
This commit is contained in:
parent
93ea4b07c1
commit
66e48da7cb
2
src/gnome-shell.in
Executable file → Normal file
2
src/gnome-shell.in
Executable file → Normal file
@ -273,6 +273,8 @@ if options.debug:
|
|||||||
try:
|
try:
|
||||||
if run_in_xephyr:
|
if run_in_xephyr:
|
||||||
shell = start_xephyr()
|
shell = start_xephyr()
|
||||||
|
# This makes us not grab the org.gnome.Panel name
|
||||||
|
os.environ['GNOME_SHELL_NO_REPLACE_PANEL'] = '1'
|
||||||
start_shell()
|
start_shell()
|
||||||
else:
|
else:
|
||||||
if gnome_panel_pid is not None:
|
if gnome_panel_pid is not None:
|
||||||
|
@ -741,18 +741,22 @@ shell_global_grab_dbus_service (ShellGlobal *global)
|
|||||||
exit (0);
|
exit (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Also grab org.gnome.Panel to replace any existing panel process */
|
/* Also grab org.gnome.Panel to replace any existing panel process,
|
||||||
if (!dbus_g_proxy_call (bus, "RequestName", &error,
|
* unless a special environment variable is passed. The environment
|
||||||
G_TYPE_STRING, "org.gnome.Panel",
|
* variable is used by the gnome-shell (no --replace) launcher in
|
||||||
G_TYPE_UINT, DBUS_NAME_FLAG_REPLACE_EXISTING | DBUS_NAME_FLAG_DO_NOT_QUEUE,
|
* Xephyr */
|
||||||
G_TYPE_INVALID,
|
if (!g_getenv ("GNOME_SHELL_NO_REPLACE_PANEL"))
|
||||||
G_TYPE_UINT, &request_name_result,
|
{
|
||||||
G_TYPE_INVALID))
|
if (!dbus_g_proxy_call (bus, "RequestName", &error, G_TYPE_STRING,
|
||||||
|
"org.gnome.Panel", G_TYPE_UINT,
|
||||||
|
DBUS_NAME_FLAG_REPLACE_EXISTING | DBUS_NAME_FLAG_DO_NOT_QUEUE,
|
||||||
|
G_TYPE_INVALID, G_TYPE_UINT,
|
||||||
|
&request_name_result, G_TYPE_INVALID))
|
||||||
{
|
{
|
||||||
g_print ("failed to acquire org.gnome.Panel: %s\n", error->message);
|
g_print ("failed to acquire org.gnome.Panel: %s\n", error->message);
|
||||||
exit (1);
|
exit (1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
g_object_unref (bus);
|
g_object_unref (bus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user