debian/0001_msmgnome-Allow-users-to-disable-one-or-both-compatib.patch: Applied upstream.
This commit is contained in:
parent
b4e2783132
commit
e242aff8f4
@ -1,97 +0,0 @@
|
||||
From 38334a705a479b60c54f2481a14751bd41deeffb Mon Sep 17 00:00:00 2001
|
||||
From: infirit <infirit@gmail.com>
|
||||
Date: Mon, 12 Jan 2015 20:38:42 +0100
|
||||
Subject: [PATCH 1/1] msmgnome: Allow users to disable one or both
|
||||
compatibility options
|
||||
|
||||
---
|
||||
data/org.mate.session.gschema.xml.in.in | 5 ++++
|
||||
mate-session/msm-gnome.c | 41 +++++++++++++++++++++++++++++----
|
||||
2 files changed, 41 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/data/org.mate.session.gschema.xml.in.in b/data/org.mate.session.gschema.xml.in.in
|
||||
index 2415c67..14e8da4 100644
|
||||
--- a/data/org.mate.session.gschema.xml.in.in
|
||||
+++ b/data/org.mate.session.gschema.xml.in.in
|
||||
@@ -30,6 +30,11 @@
|
||||
<_summary>Required session components</_summary>
|
||||
<_description>List of components that are required as part of the session. (Each element names a key under "/org/mate/desktop/session/required_components"). The Startup Applications preferences tool will not normally allow users to remove a required component from the session, and the session manager will automatically add the required components back to the session at login time if they do get removed.</_description>
|
||||
</key>
|
||||
+ <key name="gnome-compat-startup" type="as">
|
||||
+ <default>[ 'keyring', 'smproxy' ]</default>
|
||||
+ <_summary>Control gnome compatibility component startup</_summary>
|
||||
+ <_description>Control which compatibility components to start.</_description>
|
||||
+ </key>
|
||||
<child name="required-components" schema="org.mate.session.required-components"/>
|
||||
</schema>
|
||||
<schema id="org.mate.session.required-components" path="/org/mate/desktop/session/required-components/">
|
||||
diff --git a/mate-session/msm-gnome.c b/mate-session/msm-gnome.c
|
||||
index 661d9e3..72f5493 100644
|
||||
--- a/mate-session/msm-gnome.c
|
||||
+++ b/mate-session/msm-gnome.c
|
||||
@@ -37,9 +37,13 @@
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <gdk/gdkx.h>
|
||||
+#include <gio/gio.h>
|
||||
|
||||
#include "msm-gnome.h"
|
||||
|
||||
+#define GSM_SCHEMA "org.mate.session"
|
||||
+#define GSM_GNOME_COMPAT_STARTUP_KEY "gnome-compat-startup"
|
||||
+
|
||||
#define GNOME_KEYRING_DAEMON "gnome-keyring-daemon"
|
||||
|
||||
|
||||
@@ -231,16 +235,43 @@ msm_compat_gnome_smproxy_shutdown (void)
|
||||
void
|
||||
msm_gnome_start (void)
|
||||
{
|
||||
+ GSettings* settings;
|
||||
+ gchar **array;
|
||||
+ GList *startup = NULL;
|
||||
+ gint i;
|
||||
+
|
||||
if (gnome_compat_started == TRUE)
|
||||
return;
|
||||
|
||||
- g_debug ("MsmGnome: starting");
|
||||
-
|
||||
- msm_compat_gnome_smproxy_startup ();
|
||||
+ settings = g_settings_new (GSM_SCHEMA);
|
||||
+ array = g_settings_get_strv (settings, GSM_GNOME_COMPAT_STARTUP_KEY);
|
||||
+ if (array) {
|
||||
+ for (i = 0; array[i]; i++) {
|
||||
+ startup = g_list_append (startup, g_strdup (array[i]));
|
||||
+ }
|
||||
+ }
|
||||
+ g_strfreev (array);
|
||||
+ g_object_unref (settings);
|
||||
+
|
||||
+ if (startup != NULL) {
|
||||
+ if (g_list_find_custom (startup, "smproxy", (GCompareFunc) strcmp) != NULL) {
|
||||
+ g_debug ("MsmGnome: starting smproxy");
|
||||
+ msm_compat_gnome_smproxy_startup ();
|
||||
+ gnome_compat_started = TRUE;
|
||||
+ } else if (g_list_find_custom (startup, "keyring", (GCompareFunc) strcmp) != NULL) {
|
||||
+ g_debug ("MsmGnome: starting keyring");
|
||||
+ gnome_keyring_daemon_startup ();
|
||||
+ gnome_compat_started = TRUE;
|
||||
+ } else {
|
||||
+ g_debug ("MsmGnome: unknown component, ignoring");
|
||||
+ }
|
||||
|
||||
- gnome_keyring_daemon_startup ();
|
||||
+ g_list_foreach (startup, (GFunc) g_free, NULL);
|
||||
+ g_list_free (startup);
|
||||
|
||||
- gnome_compat_started = TRUE;
|
||||
+ } else {
|
||||
+ g_debug ("MsmGnome: No components found to start");
|
||||
+ }
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
2.2.1
|
||||
|
Loading…
Reference in New Issue
Block a user