This commit is contained in:
parent
3436db16ac
commit
ab4c4a8b64
@ -1,15 +1,7 @@
|
||||
diff -Naurp gnome-session-2.22.1.1/gnome-session/main.c gnome-session-2.22.1.1-patched/gnome-session/main.c
|
||||
diff -aurp gnome-session-2.22.1.1/gnome-session/main.c gnome-session-2.22.1.1-patched/gnome-session/main.c
|
||||
--- gnome-session-2.22.1.1/gnome-session/main.c 2008-04-10 16:32:20.000000000 +0200
|
||||
+++ gnome-session-2.22.1.1-patched/gnome-session/main.c 2008-04-21 12:38:40.112936000 +0200
|
||||
@@ -41,12 +41,16 @@
|
||||
#include <libgnomeui/gnome-ui-init.h>
|
||||
#include <libgnome/gnome-config.h>
|
||||
|
||||
+#include <gdk/gdkx.h>
|
||||
+
|
||||
#include "manager.h"
|
||||
#include "ice.h"
|
||||
#include "save.h"
|
||||
+++ gnome-session-2.22.1.1-patched/gnome-session/main.c 2008-05-13 10:56:24.000221000 +0200
|
||||
@@ -47,6 +47,8 @@
|
||||
#include "command.h"
|
||||
#include "splash-widget.h"
|
||||
#include "util.h"
|
||||
@ -18,7 +10,7 @@ diff -Naurp gnome-session-2.22.1.1/gnome-session/main.c gnome-session-2.22.1.1-p
|
||||
#include "gsm-dbus.h"
|
||||
#include "gsm-sound.h"
|
||||
#include "gsm-gsd.h"
|
||||
@@ -600,6 +604,84 @@ gsm_shutdown_gconfd (void)
|
||||
@@ -600,6 +602,71 @@ gsm_shutdown_gconfd (void)
|
||||
g_free (command);
|
||||
}
|
||||
|
||||
@ -28,6 +20,12 @@ diff -Naurp gnome-session-2.22.1.1/gnome-session/main.c gnome-session-2.22.1.1-p
|
||||
+ GSList *cl, *p;
|
||||
+ Client *client = NULL;
|
||||
+ SmProp *prop = NULL;
|
||||
+ char *compiz_enable_path;
|
||||
+ gboolean compiz_enabled = FALSE;
|
||||
+
|
||||
+ compiz_enable_path = g_build_filename (g_get_user_config_dir (), "compiz", "enable-compiz", NULL);
|
||||
+ compiz_enabled = compiz_enable_path && g_file_test (compiz_enable_path, G_FILE_TEST_IS_REGULAR);
|
||||
+ g_free (compiz_enable_path);
|
||||
+
|
||||
+ for (cl = session->client_list; cl; cl = cl->next)
|
||||
+ {
|
||||
@ -41,31 +39,16 @@ diff -Naurp gnome-session-2.22.1.1/gnome-session/main.c gnome-session-2.22.1.1-p
|
||||
+
|
||||
+ if (!strcmp (prop->vals[0].value, "gnome-wm"))
|
||||
+ return;
|
||||
+ else if (!strcmp (prop->vals[0].value, "metacity") ||
|
||||
+ !strcmp (prop->vals[0].value, "compiz"))
|
||||
+ else if (((!strcmp (prop->vals[0].value, "metacity") || !strcmp (prop->vals[0].value, "/usr/bin/metacity")) && compiz_enabled) ||
|
||||
+ (!strcmp (prop->vals[0].value, "compiz") || !strcmp (prop->vals[0].value, "/usr/bin/compiz")))
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ if (!cl)
|
||||
+ return;
|
||||
+
|
||||
+ if (VendorRelease (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())) != 70000001)
|
||||
+ {
|
||||
+ /* Xorg */
|
||||
+ if (!strcmp (prop->vals[0].value, "metacity"))
|
||||
+ return;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ /* Xgl */
|
||||
+ if (!strcmp (prop->vals[0].value, "compiz"))
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ /* At this point, either client is compiz and we're using Xorg, or
|
||||
+ * client is metacity and we're using Xgl. Either way, replace it
|
||||
+ * with gnome-wm.
|
||||
+ */
|
||||
+ /* At this point, either client is compiz or client is metacity and we're
|
||||
+ * supposed to run compiz-manager. Either way, replace it with gnome-wm. */
|
||||
+
|
||||
+ for (p = client->properties; p; p = p->next)
|
||||
+ SmFreeProperty (p->data);
|
||||
@ -76,18 +59,14 @@ diff -Naurp gnome-session-2.22.1.1/gnome-session/main.c gnome-session-2.22.1.1-p
|
||||
+ prop = malloc (sizeof (SmProp));
|
||||
+ prop->name = strdup (SmRestartCommand);
|
||||
+ prop->type = strdup (SmLISTofARRAY8);
|
||||
+ prop->num_vals = 5;
|
||||
+ prop->vals = malloc (5 * sizeof (SmPropValue));
|
||||
+ prop->num_vals = 3;
|
||||
+ prop->vals = malloc (3 * sizeof (SmPropValue));
|
||||
+ prop->vals[0].value = strdup ("gnome-wm");
|
||||
+ prop->vals[0].length = strlen (prop->vals[0].value);
|
||||
+ prop->vals[1].value = strdup ("--default-wm");
|
||||
+ prop->vals[1].value = strdup ("--sm-client-id");
|
||||
+ prop->vals[1].length = strlen (prop->vals[1].value);
|
||||
+ prop->vals[2].value = strdup ("gnome-wm");
|
||||
+ prop->vals[2].value = strdup (client->id);
|
||||
+ prop->vals[2].length = strlen (prop->vals[2].value);
|
||||
+ prop->vals[3].value = strdup ("--sm-client-id");
|
||||
+ prop->vals[3].length = strlen (prop->vals[3].value);
|
||||
+ prop->vals[4].value = strdup (client->id);
|
||||
+ prop->vals[4].length = strlen (prop->vals[4].value);
|
||||
+ client->properties = g_slist_prepend (client->properties, prop);
|
||||
+
|
||||
+ prop = malloc (sizeof (SmProp));
|
||||
@ -103,7 +82,7 @@ diff -Naurp gnome-session-2.22.1.1/gnome-session/main.c gnome-session-2.22.1.1-p
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
@@ -777,6 +859,8 @@ main (int argc, char *argv[])
|
||||
@@ -777,6 +844,8 @@ main (int argc, char *argv[])
|
||||
g_setenv ("GNOME_DESKTOP_SESSION_ID", session_name, TRUE);
|
||||
the_session = read_session (session_name);
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue May 13 14:51:06 CEST 2008 - vuntz@suse.de
|
||||
|
||||
- Rewrite the logic in gnome-session-wm-switch.patch so that it
|
||||
correctly handles compiz (because of compiz-manager).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 13 09:22:13 CEST 2008 - vuntz@suse.de
|
||||
|
||||
|
@ -16,7 +16,7 @@ BuildRequires: control-center2-devel fdupes gnome-common gnome-desktop-devel gn
|
||||
License: GPL v2 or later; LGPL v2.1 or later
|
||||
Group: System/GUI/GNOME
|
||||
Version: 2.22.1.1
|
||||
Release: 27
|
||||
Release: 28
|
||||
Summary: Session Tools for the GNOME 2.x Desktop
|
||||
Source: %{name}-%{version}.tar.bz2
|
||||
Source1: gnome
|
||||
@ -180,6 +180,9 @@ rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%changelog
|
||||
* Tue May 13 2008 vuntz@suse.de
|
||||
- Rewrite the logic in gnome-session-wm-switch.patch so that it
|
||||
correctly handles compiz (because of compiz-manager).
|
||||
* Tue May 13 2008 vuntz@suse.de
|
||||
- Update gnome-session-gnome-wm-compiz-manager.patch to look for
|
||||
the right file for compiz activation. Fix bnc#389648, thanks to
|
||||
Jigish Gohil.
|
||||
|
Loading…
Reference in New Issue
Block a user