OBS User unknown 2009-07-31 17:33:52 +00:00 committed by Git OBS Bridge
parent acf8c1a6fa
commit 48eebcdca5
8 changed files with 497 additions and 898 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b164c8283c898db27e2ae37d3e9de7d7d52a5370f536bc396c7e510be74b4d0d
size 1123093

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:69562babdfa85a1c9e18ba0386a789c55277e9d61ca73fa3412a6f8c5d89372c
size 1149230

View File

@ -0,0 +1,46 @@
Index: gnome-settings-daemon-2.27.3/plugins/keyboard/gsd-keyboard-xkb.c
===================================================================
--- gnome-settings-daemon-2.27.3.orig/plugins/keyboard/gsd-keyboard-xkb.c
+++ gnome-settings-daemon-2.27.3/plugins/keyboard/gsd-keyboard-xkb.c
@@ -257,6 +257,20 @@ apply_xkb_settings (void)
gkbd_keyboard_config_load_from_x_current (&current_sys_kbd_config,
NULL);
+ if (!try_activating_xkb_config_if_new (&current_sys_kbd_config)) {
+ if (filter_xkb_config ()) {
+ if (!try_activating_xkb_config_if_new (&current_sys_kbd_config)) {
+ g_warning ("Could not activate the filtered XKB configuration");
+ activation_error ();
+ }
+ } else {
+ g_warning ("Could not activate the XKB configuration");
+ activation_error ();
+ }
+ } else
+ xkl_debug (100,
+ "Actual KBD configuration was not changed: redundant notification\n");
+
if (gdm_layout != NULL) {
/* If there are multiple layouts,
* try to find the one closest to the gdm layout
@@ -275,20 +289,6 @@ apply_xkb_settings (void)
}
}
- if (!try_activating_xkb_config_if_new (&current_sys_kbd_config)) {
- if (filter_xkb_config ()) {
- if (!try_activating_xkb_config_if_new (&current_sys_kbd_config)) {
- g_warning ("Could not activate the filtered XKB configuration");
- activation_error ();
- }
- } else {
- g_warning ("Could not activate the XKB configuration");
- activation_error ();
- }
- } else
- xkl_debug (100,
- "Actual KBD configuration was not changed: redundant notification\n");
-
if (group_to_activate != -1)
xkl_engine_lock_group (current_config.engine,
group_to_activate);

View File

@ -1,177 +0,0 @@
commit 408568e30f1552b03101c724b28c4d865bea4adc
Author: Sergey V. Udaltsov <svu@gnome.org>
Date: Thu Jun 11 01:34:41 2009 +0100
Nicer handling of broken XKB configuration in gconf.
If XKB configuration fails, g-s-d tries to filter out layouts/variants
not registered in base.xml - then configure XKB again.
http://bugzilla.gnome.org/show_bug.cgi?id=585259
diff --git a/plugins/keyboard/gsd-keyboard-xkb.c b/plugins/keyboard/gsd-keyboard-xkb.c
index 346fdba..86b5ea8 100644
--- a/plugins/keyboard/gsd-keyboard-xkb.c
+++ b/plugins/keyboard/gsd-keyboard-xkb.c
@@ -40,6 +40,7 @@
#include "gnome-settings-profile.h"
static XklEngine *xkl_engine;
+static XklConfigRegistry *xkl_registry = NULL;
static GkbdDesktopConfig current_config;
static GkbdKeyboardConfig current_kbd_config;
@@ -125,7 +126,7 @@ activation_error (void)
}
static void
-apply_settings (void)
+apply_desktop_settings (void)
{
if (!inited_ok)
return;
@@ -136,6 +137,79 @@ apply_settings (void)
gkbd_desktop_config_activate (&current_config);
}
+static gboolean
+try_activating_xkb_config_if_new (GkbdKeyboardConfig *current_sys_kbd_config)
+{
+ /* Activate - only if different! */
+ if (!gkbd_keyboard_config_equals
+ (&current_kbd_config, current_sys_kbd_config)) {
+ if (gkbd_keyboard_config_activate (&current_kbd_config)) {
+ if (pa_callback != NULL) {
+ (*pa_callback) (pa_callback_user_data);
+ return TRUE;
+ }
+ } else {
+ return FALSE;
+ }
+ }
+ return TRUE;
+}
+
+static gboolean
+filter_xkb_config (void)
+{
+ XklConfigItem *item;
+ gchar *lname;
+ gchar *vname;
+ GSList *lv;
+ GSList *filtered;
+ gboolean any_change = FALSE;
+
+ xkl_debug (100, "Filtering configuration against the registry\n");
+ if (!xkl_registry) {
+ xkl_registry = xkl_config_registry_get_instance (xkl_engine);
+ if (!xkl_config_registry_load (xkl_registry)) {
+ g_object_unref (xkl_registry);
+ xkl_registry = NULL;
+ return FALSE;
+ }
+ }
+ lv = current_kbd_config.layouts_variants;
+ item = xkl_config_item_new ();
+ while (lv) {
+ xkl_debug (100, "Checking [%s]\n", lv->data);
+ if (gkbd_keyboard_config_split_items(lv->data, &lname, &vname)) {
+ g_snprintf (item->name, sizeof (item->name), "%s", lname);
+ if (!xkl_config_registry_find_layout (xkl_registry, item)) {
+ xkl_debug (100, "Bad layout [%s]\n", lname);
+ filtered = lv;
+ lv = lv->next;
+ g_free (filtered->data);
+ current_kbd_config.layouts_variants = g_slist_delete_link (current_kbd_config.layouts_variants,
+ filtered);
+ any_change = TRUE;
+ continue;
+ }
+ if (vname) {
+ g_snprintf (item->name, sizeof (item->name), "%s", vname);
+ if (!xkl_config_registry_find_variant (xkl_registry, lname, item)) {
+ xkl_debug(100, "Bad variant [%s(%s)]\n", lname, vname);
+ filtered = lv;
+ lv = lv->next;
+ g_free (filtered->data);
+ current_kbd_config.layouts_variants = g_slist_delete_link (current_kbd_config.layouts_variants,
+ filtered);
+ any_change = TRUE;
+ continue;
+ }
+ }
+ }
+ lv = lv->next;
+ }
+ g_object_unref(item);
+ return any_change;
+}
+
static void
apply_xkb_settings (void)
{
@@ -201,16 +275,14 @@ apply_xkb_settings (void)
}
}
- /* Activate - only if different! */
- if (!gkbd_keyboard_config_equals
- (&current_kbd_config, &current_sys_kbd_config)) {
- if (gkbd_keyboard_config_activate (&current_kbd_config)) {
- if (pa_callback != NULL) {
- (*pa_callback) (pa_callback_user_data);
+ if (!try_activating_xkb_config_if_new (&current_sys_kbd_config)) {
+ if (filter_xkb_config ()) {
+ if (!try_activating_xkb_config_if_new (&current_sys_kbd_config)) {
+ g_warning ("Could not activate the filtered XKB configuration");
+ activation_error ();
}
- } else {
- g_warning
- ("Could not activate the XKB configuration");
+ } else {
+ g_warning ("Could not activate the XKB configuration");
activation_error ();
}
} else
@@ -346,7 +418,7 @@ register_config_callback (GConfClient * client,
static void
gsd_keyboard_new_device (XklEngine * engine)
{
- apply_settings ();
+ apply_desktop_settings ();
apply_xkb_settings ();
}
@@ -383,7 +455,7 @@ gsd_keyboard_xkb_init (GConfClient * client)
register_config_callback (client,
GKBD_DESKTOP_CONFIG_DIR,
(GConfClientNotifyFunc)
- apply_settings);
+ apply_desktop_settings);
notify_keyboard =
register_config_callback (client,
@@ -406,9 +478,9 @@ gsd_keyboard_xkb_init (GConfClient * client)
XKLL_MANAGE_WINDOW_STATES);
gnome_settings_profile_end ("xkl_engine_start_listen");
- gnome_settings_profile_start ("apply_settings");
- apply_settings ();
- gnome_settings_profile_end ("apply_settings");
+ gnome_settings_profile_start ("apply_desktop_settings");
+ apply_desktop_settings ();
+ gnome_settings_profile_end ("apply_desktop_settings");
gnome_settings_profile_start ("apply_xkb_settings");
apply_xkb_settings ();
gnome_settings_profile_end ("apply_xkb_settings");
@@ -449,6 +521,10 @@ gsd_keyboard_xkb_shutdown (void)
notify_keyboard = 0;
}
+ if (xkl_registry) {
+ g_object_unref (xkl_registry);
+ }
+
g_object_unref (client);
g_object_unref (xkl_engine);

View File

@ -22,11 +22,10 @@ GNOME's GConf keys.
create mode 100644 plugins/proxy/novell-sysconfig-proxy-helper
create mode 100644 plugins/proxy/proxy.gnome-settings-plugin.in
diff --git a/plugins/proxy/Makefile.am b/plugins/proxy/Makefile.am
new file mode 100644
index 0000000..6a4ba90
Index: gnome-settings-daemon-2.27.4/plugins/proxy/Makefile.am
===================================================================
--- /dev/null
+++ b/plugins/proxy/Makefile.am
+++ gnome-settings-daemon-2.27.4/plugins/proxy/Makefile.am
@@ -0,0 +1,57 @@
+NULL =
+
@ -85,12 +84,11 @@ index 0000000..6a4ba90
+ $(NULL)
+
+@GSD_INTLTOOL_PLUGIN_RULE@
diff --git a/plugins/proxy/gsd-proxy-manager.c b/plugins/proxy/gsd-proxy-manager.c
new file mode 100644
index 0000000..9092b00
Index: gnome-settings-daemon-2.27.4/plugins/proxy/gsd-proxy-manager.c
===================================================================
--- /dev/null
+++ b/plugins/proxy/gsd-proxy-manager.c
@@ -0,0 +1,571 @@
+++ gnome-settings-daemon-2.27.4/plugins/proxy/gsd-proxy-manager.c
@@ -0,0 +1,731 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2008 Rodrigo Moya <rodrigo@gnome-db.org>
@ -164,6 +162,11 @@ index 0000000..9092b00
+
+struct GsdProxyManagerPrivate
+{
+ /* This is to avoid "sizeof (GsdProxyManagerPrivate) == 0" when adding
+ * the private struct with g_type_class_add_private(). Feel free to
+ * remove this dummy field if you add real fields here.
+ */
+ int dummy;
+};
+
+typedef struct {
@ -304,24 +307,179 @@ index 0000000..9092b00
+ gconf_client_set_string (config_client, KEY_MODE, "none", NULL);
+}
+
+
+
+/* The following two functions (the main one being gedit_utils_decode_uri) are
+ * stolen from gedit/gedit/gedit-utils.c. This is because GIO doesn't yet
+ * export a function to parse URIs, sigh.
+ */
+
+static void
+null_ptr (gchar **ptr)
+{
+ if (ptr)
+ *ptr = NULL;
+}
+
+/**
+* gedit_utils_decode_uri:
+* @uri: the uri to decode
+* @scheme: return value pointer for the uri's scheme (e.g. http, sftp, ...)
+* @user: return value pointer for the uri user info
+* @port: return value pointer for the uri port
+* @host: return value pointer for the uri host
+* @path: return value pointer for the uri path
+*
+* Parse and break an uri apart in its individual components like the uri
+* scheme, user info, port, host and path. The return value pointer can be
+* NULL to ignore certain parts of the uri. If the function returns TRUE, then
+* all return value pointers should be freed using g_free
+*
+* Return value: TRUE if the uri could be properly decoded, FALSE otherwise.
+*/
+static gboolean
+gedit_utils_decode_uri (const gchar *uri,
+ gchar **scheme,
+ gchar **user,
+ gchar **host,
+ gchar **port,
+ gchar **path)
+{
+ /* Largely copied from glib/gio/gdummyfile.c:_g_decode_uri. This
+ * functionality should be in glib/gio, but for now we implement it
+ * ourselves (see bug #546182) */
+
+ const char *p, *in, *hier_part_start, *hier_part_end;
+ char *out;
+ char c;
+
+ /* From RFC 3986 Decodes:
+ * URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
+ */
+
+ p = uri;
+
+ null_ptr (scheme);
+ null_ptr (user);
+ null_ptr (port);
+ null_ptr (host);
+ null_ptr (path);
+
+ /* Decode scheme:
+ * scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )
+ */
+
+ if (!g_ascii_isalpha (*p))
+ return FALSE;
+
+ while (1) {
+ c = *p++;
+
+ if (c == ':')
+ break;
+
+ if (!(g_ascii_isalnum(c) ||
+ c == '+' ||
+ c == '-' ||
+ c == '.'))
+ return FALSE;
+ }
+
+ if (scheme) {
+ *scheme = g_malloc (p - uri);
+ out = *scheme;
+
+ for (in = uri; in < p - 1; in++)
+ *out++ = g_ascii_tolower (*in);
+
+ *out = '\0';
+ }
+
+ hier_part_start = p;
+ hier_part_end = p + strlen (p);
+
+ if (hier_part_start[0] == '/' && hier_part_start[1] == '/') {
+ const char *authority_start, *authority_end;
+ const char *userinfo_start, *userinfo_end;
+ const char *host_start, *host_end;
+ const char *port_start;
+
+ authority_start = hier_part_start + 2;
+ /* authority is always followed by / or nothing */
+ authority_end = memchr (authority_start, '/', hier_part_end - authority_start);
+
+ if (authority_end == NULL)
+ authority_end = hier_part_end;
+
+ /* 3.2:
+ * authority = [ userinfo "@" ] host [ ":" port ]
+ */
+
+ userinfo_end = memchr (authority_start, '@', authority_end - authority_start);
+
+ if (userinfo_end) {
+ userinfo_start = authority_start;
+
+ if (user)
+ *user = g_uri_unescape_segment (userinfo_start, userinfo_end, NULL);
+
+ if (user && *user == NULL) {
+ if (scheme)
+ g_free (*scheme);
+
+ return FALSE;
+ }
+
+ host_start = userinfo_end + 1;
+ } else
+ host_start = authority_start;
+
+ port_start = memchr (host_start, ':', authority_end - host_start);
+
+ if (port_start) {
+ host_end = port_start++;
+
+ if (port)
+ *port = g_strndup (port_start, authority_end - port_start);
+ } else
+ host_end = authority_end;
+
+ if (host)
+ *host = g_strndup (host_start, host_end - host_start);
+
+ hier_part_start = authority_end;
+ }
+
+ if (path)
+ *path = g_uri_unescape_segment (hier_part_start, hier_part_end, "/");
+
+ return TRUE;
+}
+
+
+
+/* parses a URI to get the host and port */
+static gboolean
+parse_uri (const gchar *uri, gchar **host, guint *port)
+{
+ char **tokens;
+
+ tokens = g_strsplit_set (uri, ":", 0);
+ if (tokens[1] != NULL) {
+ *host = g_strdup (tokens[1] + 2);
+ }
+
+ if (tokens[2] != NULL) {
+ *port = (guint) atoi (tokens[2]);
+ }
+
+ gchar *port_str;
+
+ if (!gedit_utils_decode_uri (uri,
+ NULL, /* scheme */
+ NULL, /* user */
+ host, /* host */
+ &port_str, /* port */
+ NULL)) /* path */
+ return FALSE;
+
+ if (port_str) {
+ *port = atoi (port_str);
+ g_free (port_str);
+ } else
+ *port = 0;
+
+ g_debug ("Proxy host: %s:%d", *host, *port);
+
+ g_strfreev (tokens);
+
+ return TRUE;
+}
+
@ -662,11 +820,10 @@ index 0000000..9092b00
+
+ return GSD_PROXY_MANAGER (manager_object);
+}
diff --git a/plugins/proxy/gsd-proxy-manager.h b/plugins/proxy/gsd-proxy-manager.h
new file mode 100644
index 0000000..3f97d01
Index: gnome-settings-daemon-2.27.4/plugins/proxy/gsd-proxy-manager.h
===================================================================
--- /dev/null
+++ b/plugins/proxy/gsd-proxy-manager.h
+++ gnome-settings-daemon-2.27.4/plugins/proxy/gsd-proxy-manager.h
@@ -0,0 +1,57 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
@ -725,11 +882,10 @@ index 0000000..3f97d01
+G_END_DECLS
+
+#endif /* __GSD_PROXY_MANAGER_H */
diff --git a/plugins/proxy/gsd-proxy-plugin.c b/plugins/proxy/gsd-proxy-plugin.c
new file mode 100644
index 0000000..843ff16
Index: gnome-settings-daemon-2.27.4/plugins/proxy/gsd-proxy-plugin.c
===================================================================
--- /dev/null
+++ b/plugins/proxy/gsd-proxy-plugin.c
+++ gnome-settings-daemon-2.27.4/plugins/proxy/gsd-proxy-plugin.c
@@ -0,0 +1,103 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
@ -834,11 +990,10 @@ index 0000000..843ff16
+
+ g_type_class_add_private (klass, sizeof (GsdProxyPluginPrivate));
+}
diff --git a/plugins/proxy/gsd-proxy-plugin.h b/plugins/proxy/gsd-proxy-plugin.h
new file mode 100644
index 0000000..8f81ecb
Index: gnome-settings-daemon-2.27.4/plugins/proxy/gsd-proxy-plugin.h
===================================================================
--- /dev/null
+++ b/plugins/proxy/gsd-proxy-plugin.h
+++ gnome-settings-daemon-2.27.4/plugins/proxy/gsd-proxy-plugin.h
@@ -0,0 +1,59 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
@ -899,11 +1054,10 @@ index 0000000..8f81ecb
+G_END_DECLS
+
+#endif /* __GSD_PROXY_PLUGIN_H__ */
diff --git a/plugins/proxy/novell-sysconfig-proxy-helper b/plugins/proxy/novell-sysconfig-proxy-helper
new file mode 100644
index 0000000..98b76da
Index: gnome-settings-daemon-2.27.4/plugins/proxy/novell-sysconfig-proxy-helper
===================================================================
--- /dev/null
+++ b/plugins/proxy/novell-sysconfig-proxy-helper
+++ gnome-settings-daemon-2.27.4/plugins/proxy/novell-sysconfig-proxy-helper
@@ -0,0 +1,19 @@
+#!/bin/sh
+
@ -924,11 +1078,10 @@ index 0000000..98b76da
+echo "FTP_PROXY $FTP_PROXY"
+echo "GOPHER_PROXY $GOPHER_PROXY"
+echo "NO_PROXY $NO_PROXY"
diff --git a/plugins/proxy/proxy.gnome-settings-plugin.in b/plugins/proxy/proxy.gnome-settings-plugin.in
new file mode 100644
index 0000000..19ce10c
Index: gnome-settings-daemon-2.27.4/plugins/proxy/proxy.gnome-settings-plugin.in
===================================================================
--- /dev/null
+++ b/plugins/proxy/proxy.gnome-settings-plugin.in
+++ gnome-settings-daemon-2.27.4/plugins/proxy/proxy.gnome-settings-plugin.in
@@ -0,0 +1,8 @@
+[GNOME Settings Plugin]
+Module=proxy
@ -938,26 +1091,10 @@ index 0000000..19ce10c
+Authors=Rodrigo Moya <rodrigo@gnome-db.org>
+Copyright=
+Website=
--
1.5.6
From b0bf83da99fce538da8d747e5386853626d456ec Mon Sep 17 00:00:00 2001
From: Federico Mena Quintero <federico@novell.com>
Date: Thu, 14 Aug 2008 19:00:41 -0500
Subject: [PATCH 2/8] Add schemas for the system proxy settings.
See the documentation about this in http://en.opensuse.org/GNOME/Proxy_configuration
---
data/system_proxy.schemas.in | 26 ++++++++++++++++++++++++++
1 files changed, 26 insertions(+), 0 deletions(-)
create mode 100644 data/system_proxy.schemas.in
diff --git a/data/system_proxy.schemas.in b/data/system_proxy.schemas.in
new file mode 100644
index 0000000..5f01b2e
Index: gnome-settings-daemon-2.27.4/data/system_proxy.schemas.in
===================================================================
--- /dev/null
+++ b/data/system_proxy.schemas.in
+++ gnome-settings-daemon-2.27.4/data/system_proxy.schemas.in
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<gconfschemafile>
@ -985,99 +1122,46 @@ index 0000000..5f01b2e
+ </schema>
+ </schemalist>
+</gconfschemafile>
--
1.5.6
From b149af05692650efe6947aa084287fcdda428108 Mon Sep 17 00:00:00 2001
From: Federico Mena Quintero <federico@novell.com>
Date: Thu, 14 Aug 2008 18:58:46 -0500
Subject: [PATCH 3/8] Add the proxy plugin to the plugins/Makefile.am
---
plugins/Makefile.am | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/plugins/Makefile.am b/plugins/Makefile.am
index 2d33061..82f3eae 100644
--- a/plugins/Makefile.am
+++ b/plugins/Makefile.am
Index: gnome-settings-daemon-2.27.4/plugins/Makefile.am
===================================================================
--- gnome-settings-daemon-2.27.4.orig/plugins/Makefile.am
+++ gnome-settings-daemon-2.27.4/plugins/Makefile.am
@@ -12,6 +12,7 @@ SUBDIRS = \
keyboard \
media-keys \
mouse \
+ proxy \
screensaver \
sound \
typing-break \
--
1.5.6
From 97e29c68cf89a34db1c35656a3cc7e2e3d8f565d Mon Sep 17 00:00:00 2001
From: Federico Mena Quintero <federico@novell.com>
Date: Thu, 14 Aug 2008 18:59:21 -0500
Subject: [PATCH 4/8] Add the proxy plugin to configure.ac
---
configure.ac | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/configure.ac b/configure.ac
index bc336c1..ec5e5f3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -441,6 +441,7 @@ plugins/keyboard/Makefile
xrandr \
Index: gnome-settings-daemon-2.27.4/configure.ac
===================================================================
--- gnome-settings-daemon-2.27.4.orig/configure.ac
+++ gnome-settings-daemon-2.27.4/configure.ac
@@ -357,6 +357,7 @@ plugins/keyboard/Makefile
plugins/media-keys/Makefile
plugins/media-keys/actions/Makefile
plugins/media-keys/cut-n-paste/Makefile
plugins/mouse/Makefile
+plugins/proxy/Makefile
plugins/screensaver/Makefile
plugins/sound/Makefile
plugins/sound/libsounds/Makefile
--
1.5.6
From ddab86c79a40b5d95a8d0420e1ea88e1d3ddbac9 Mon Sep 17 00:00:00 2001
From: Federico Mena Quintero <federico@novell.com>
Date: Thu, 14 Aug 2008 18:59:54 -0500
Subject: [PATCH 5/8] Add the proxy schemas to data/Makefile.am
---
data/Makefile.am | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/data/Makefile.am b/data/Makefile.am
index 2f0d4ca..c2494ec 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -9,6 +9,7 @@ schemas_in_files = \
apps_gnome_settings_daemon_screensaver.schemas.in \
desktop_gnome_font_rendering.schemas.in \
plugins/typing-break/Makefile
plugins/xrandr/Makefile
Index: gnome-settings-daemon-2.27.4/data/Makefile.am
===================================================================
--- gnome-settings-daemon-2.27.4.orig/data/Makefile.am
+++ gnome-settings-daemon-2.27.4/data/Makefile.am
@@ -10,6 +10,7 @@ schemas_in_files = \
desktop_gnome_keybindings.schemas.in \
apps_gnome_settings_daemon_xrandr.schemas.in \
desktop_gnome_peripherals_touchpad.schemas.in \
+ system_proxy.schemas.in \
$(NULL)
schemas_DATA = $(schemas_in_files:.schemas.in=.schemas)
--
1.5.6
From 89cd97f780087457a9ee9d93f5922b2764beffaa Mon Sep 17 00:00:00 2001
From: Federico Mena Quintero <federico@novell.com>
Date: Mon, 8 Dec 2008 13:32:02 -0600
Subject: [PATCH 6/8] Enable the proxy plugin in g-s-d's toplevel schemas
Signed-off-by: Federico Mena Quintero <federico@novell.com>
---
data/gnome-settings-daemon.schemas.in | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/data/gnome-settings-daemon.schemas.in b/data/gnome-settings-daemon.schemas.in
index 3f6a426..e4bacd7 100644
--- a/data/gnome-settings-daemon.schemas.in
+++ b/data/gnome-settings-daemon.schemas.in
Index: gnome-settings-daemon-2.27.4/data/gnome-settings-daemon.schemas.in
===================================================================
--- gnome-settings-daemon-2.27.4.orig/data/gnome-settings-daemon.schemas.in
+++ gnome-settings-daemon-2.27.4/data/gnome-settings-daemon.schemas.in
@@ -210,6 +210,30 @@
</schema>
@ -1106,250 +1190,6 @@ index 3f6a426..e4bacd7 100644
+ </schema>
+
+ <schema>
<key>/schemas/apps/gnome_settings_daemon/plugins/screensaver/active</key>
<applyto>/apps/gnome_settings_daemon/plugins/screensaver/active</applyto>
<key>/schemas/apps/gnome_settings_daemon/plugins/sound/active</key>
<applyto>/apps/gnome_settings_daemon/plugins/sound/active</applyto>
<owner>gnome-settings-daemon</owner>
--
1.5.6
From 2765d441f29be5bfb53cf54c9d191c21522f95d0 Mon Sep 17 00:00:00 2001
From: Federico Mena Quintero <federico@novell.com>
Date: Mon, 8 Dec 2008 14:06:55 -0600
Subject: [PATCH 7/8] Add a dummy field to GsdProxyManagerPrivate so the struct isn't zero-sized
Signed-off-by: Federico Mena Quintero <federico@novell.com>
---
plugins/proxy/gsd-proxy-manager.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/plugins/proxy/gsd-proxy-manager.c b/plugins/proxy/gsd-proxy-manager.c
index 9092b00..345c1ad 100644
--- a/plugins/proxy/gsd-proxy-manager.c
+++ b/plugins/proxy/gsd-proxy-manager.c
@@ -71,6 +71,11 @@
struct GsdProxyManagerPrivate
{
+ /* This is to avoid "sizeof (GsdProxyManagerPrivate) == 0" when adding
+ * the private struct with g_type_class_add_private(). Feel free to
+ * remove this dummy field if you add real fields here.
+ */
+ int dummy;
};
typedef struct {
--
1.5.6
From 2fd84c545f46e8cff53eaef638cc3a4906d05116 Mon Sep 17 00:00:00 2001
From: Federico Mena Quintero <federico@novell.com>
Date: Mon, 8 Dec 2008 14:54:34 -0600
Subject: [PATCH 8/8] Steal gedit_utils_decode_uri() and use it instead of a broken URI-parsing function
Signed-off-by: Federico Mena Quintero <federico@novell.com>
---
plugins/proxy/gsd-proxy-manager.c | 181 ++++++++++++++++++++++++++++++++++---
1 files changed, 168 insertions(+), 13 deletions(-)
diff --git a/plugins/proxy/gsd-proxy-manager.c b/plugins/proxy/gsd-proxy-manager.c
index 345c1ad..662ef98 100644
--- a/plugins/proxy/gsd-proxy-manager.c
+++ b/plugins/proxy/gsd-proxy-manager.c
@@ -216,24 +216,179 @@ copy_proxy_disabled (GConfClient *config_client)
gconf_client_set_string (config_client, KEY_MODE, "none", NULL);
}
-/* parses a URI to get the host and port */
+
+
+/* The following two functions (the main one being gedit_utils_decode_uri) are
+ * stolen from gedit/gedit/gedit-utils.c. This is because GIO doesn't yet
+ * export a function to parse URIs, sigh.
+ */
+
+static void
+null_ptr (gchar **ptr)
+{
+ if (ptr)
+ *ptr = NULL;
+}
+
+/**
+* gedit_utils_decode_uri:
+* @uri: the uri to decode
+* @scheme: return value pointer for the uri's scheme (e.g. http, sftp, ...)
+* @user: return value pointer for the uri user info
+* @port: return value pointer for the uri port
+* @host: return value pointer for the uri host
+* @path: return value pointer for the uri path
+*
+* Parse and break an uri apart in its individual components like the uri
+* scheme, user info, port, host and path. The return value pointer can be
+* NULL to ignore certain parts of the uri. If the function returns TRUE, then
+* all return value pointers should be freed using g_free
+*
+* Return value: TRUE if the uri could be properly decoded, FALSE otherwise.
+*/
static gboolean
-parse_uri (const gchar *uri, gchar **host, guint *port)
+gedit_utils_decode_uri (const gchar *uri,
+ gchar **scheme,
+ gchar **user,
+ gchar **host,
+ gchar **port,
+ gchar **path)
{
- char **tokens;
-
- tokens = g_strsplit_set (uri, ":", 0);
- if (tokens[1] != NULL) {
- *host = g_strdup (tokens[1] + 2);
+ /* Largely copied from glib/gio/gdummyfile.c:_g_decode_uri. This
+ * functionality should be in glib/gio, but for now we implement it
+ * ourselves (see bug #546182) */
+
+ const char *p, *in, *hier_part_start, *hier_part_end;
+ char *out;
+ char c;
+
+ /* From RFC 3986 Decodes:
+ * URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
+ */
+
+ p = uri;
+
+ null_ptr (scheme);
+ null_ptr (user);
+ null_ptr (port);
+ null_ptr (host);
+ null_ptr (path);
+
+ /* Decode scheme:
+ * scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )
+ */
+
+ if (!g_ascii_isalpha (*p))
+ return FALSE;
+
+ while (1) {
+ c = *p++;
+
+ if (c == ':')
+ break;
+
+ if (!(g_ascii_isalnum(c) ||
+ c == '+' ||
+ c == '-' ||
+ c == '.'))
+ return FALSE;
}
-
- if (tokens[2] != NULL) {
- *port = (guint) atoi (tokens[2]);
+
+ if (scheme) {
+ *scheme = g_malloc (p - uri);
+ out = *scheme;
+
+ for (in = uri; in < p - 1; in++)
+ *out++ = g_ascii_tolower (*in);
+
+ *out = '\0';
}
-
+
+ hier_part_start = p;
+ hier_part_end = p + strlen (p);
+
+ if (hier_part_start[0] == '/' && hier_part_start[1] == '/') {
+ const char *authority_start, *authority_end;
+ const char *userinfo_start, *userinfo_end;
+ const char *host_start, *host_end;
+ const char *port_start;
+
+ authority_start = hier_part_start + 2;
+ /* authority is always followed by / or nothing */
+ authority_end = memchr (authority_start, '/', hier_part_end - authority_start);
+
+ if (authority_end == NULL)
+ authority_end = hier_part_end;
+
+ /* 3.2:
+ * authority = [ userinfo "@" ] host [ ":" port ]
+ */
+
+ userinfo_end = memchr (authority_start, '@', authority_end - authority_start);
+
+ if (userinfo_end) {
+ userinfo_start = authority_start;
+
+ if (user)
+ *user = g_uri_unescape_segment (userinfo_start, userinfo_end, NULL);
+
+ if (user && *user == NULL) {
+ if (scheme)
+ g_free (*scheme);
+
+ return FALSE;
+ }
+
+ host_start = userinfo_end + 1;
+ } else
+ host_start = authority_start;
+
+ port_start = memchr (host_start, ':', authority_end - host_start);
+
+ if (port_start) {
+ host_end = port_start++;
+
+ if (port)
+ *port = g_strndup (port_start, authority_end - port_start);
+ } else
+ host_end = authority_end;
+
+ if (host)
+ *host = g_strndup (host_start, host_end - host_start);
+
+ hier_part_start = authority_end;
+ }
+
+ if (path)
+ *path = g_uri_unescape_segment (hier_part_start, hier_part_end, "/");
+
+ return TRUE;
+}
+
+
+
+/* parses a URI to get the host and port */
+static gboolean
+parse_uri (const gchar *uri, gchar **host, guint *port)
+{
+ gchar *port_str;
+
+ if (!gedit_utils_decode_uri (uri,
+ NULL, /* scheme */
+ NULL, /* user */
+ host, /* host */
+ &port_str, /* port */
+ NULL)) /* path */
+ return FALSE;
+
+ if (port_str) {
+ *port = atoi (port_str);
+ g_free (port_str);
+ } else
+ *port = 0;
+
g_debug ("Proxy host: %s:%d", *host, *port);
-
- g_strfreev (tokens);
+
return TRUE;
}
--
1.5.6

View File

@ -1,8 +1,151 @@
diff --git a/plugins/keyboard/gsd-keyboard-xkb.c b/plugins/keyboard/gsd-keyboard-xkb.c
index 346fdba..19ae642 100644
--- a/plugins/keyboard/gsd-keyboard-xkb.c
+++ b/plugins/keyboard/gsd-keyboard-xkb.c
@@ -158,18 +158,42 @@ apply_xkb_settings (void)
Index: gnome-settings-daemon-2.27.4/plugins/keyboard/gsd-keyboard-xkb.c
===================================================================
--- gnome-settings-daemon-2.27.4.orig/plugins/keyboard/gsd-keyboard-xkb.c
+++ gnome-settings-daemon-2.27.4/plugins/keyboard/gsd-keyboard-xkb.c
@@ -137,6 +137,103 @@ apply_desktop_settings (void)
gkbd_desktop_config_activate (&current_config);
}
+#define GROUP_SWITCHERS_GROUP "grp"
+#define DEFAULT_GROUP_SWITCH "grp:shifts_toggle"
+
+static void
+_maybe_add_layout_switcher (GSList *layouts,
+ GConfClient *conf_client)
+{
+ GSList *options;
+ GSList *option;
+ gboolean any_switcher;
+
+ /* do we have more than one layout? */
+ if (g_slist_length (layouts) > 1)
+ return;
+
+ /* If yes, we need to make sure there's a way to change the layout
+ * Based on xkl_layout_chooser_add_default_switcher_if_necessary() in
+ * capplets/keyboard/gnome-keyboard-properties-xkbltadd.c
+ * (gnome-control-center) */
+ options = gconf_client_get_list (conf_client,
+ GKBD_KEYBOARD_CONFIG_KEY_OPTIONS,
+ GCONF_VALUE_STRING,
+ NULL);
+
+ if (options == NULL) {
+ /* nothing in gconf, get the current options from X */
+ GkbdKeyboardConfig kbd_config;
+
+ gkbd_keyboard_config_init (&kbd_config,
+ conf_client,
+ xkl_engine);
+ gkbd_keyboard_config_load_from_x_initial (&kbd_config, NULL);
+
+ for (option = kbd_config.options; option != NULL; option = option->next) {
+ options = g_slist_prepend (options,
+ g_strdup (option->data));
+ }
+
+ options = g_slist_reverse (options);
+
+ gkbd_keyboard_config_term (&kbd_config);
+ }
+
+ any_switcher = FALSE;
+
+ while (option != NULL) {
+ char *g, *o;
+
+ if (gkbd_keyboard_config_split_items (option->data, &g, &o)) {
+ if (!g_ascii_strcasecmp (g, GROUP_SWITCHERS_GROUP)) {
+ any_switcher = TRUE;
+ break;
+ }
+ }
+ option = option->next;
+ }
+
+ /* no option to switch between layouts, let's add one */
+ if (!any_switcher) {
+ XklConfigItem *ci = xkl_config_item_new ();
+
+ g_snprintf (ci->name, XKL_MAX_CI_NAME_LENGTH,
+ DEFAULT_GROUP_SWITCH);
+
+ /* we make sure the option we want to add is known */
+ if (!xkl_registry) {
+ xkl_registry = xkl_config_registry_get_instance (xkl_engine);
+ if (!xkl_config_registry_load (xkl_registry, TRUE)) {
+ g_object_unref (xkl_registry);
+ xkl_registry = NULL;
+ }
+ }
+
+ if (xkl_registry &&
+ xkl_config_registry_find_option (xkl_registry,
+ GROUP_SWITCHERS_GROUP,
+ ci)) {
+ const char *id;
+
+ id = gkbd_keyboard_config_merge_items
+ (GROUP_SWITCHERS_GROUP,
+ DEFAULT_GROUP_SWITCH);
+
+ options = g_slist_append (options, g_strdup (id));
+ gconf_client_set_list (conf_client,
+ GKBD_KEYBOARD_CONFIG_KEY_OPTIONS,
+ GCONF_VALUE_STRING, options,
+ NULL);
+ }
+
+ g_object_unref (G_OBJECT (ci));
+ }
+
+ g_slist_foreach (options, (GFunc) g_free, NULL);
+ g_slist_free (options);
+}
+
static gboolean
try_activating_xkb_config_if_new (GkbdKeyboardConfig *current_sys_kbd_config)
{
@@ -211,6 +308,38 @@ filter_xkb_config (void)
return any_change;
}
+static int
+_xkb_layout_strcmp (const char *a,
+ const char *b)
+{
+ char *layout_a;
+ char *layout_b;
+ char *p;
+ int ret;
+
+ if (!a)
+ return -(a != b);
+ if (!b)
+ return (a != b);
+
+ layout_a = g_strdup (a);
+ p = strchr (layout_a, '\t');
+ if (p != NULL)
+ p[0] = '\0';
+
+ layout_b = g_strdup (b);
+ p = strchr (layout_b, '\t');
+ if (p != NULL)
+ p[0] = '\0';
+
+ ret = strcmp (layout_a, layout_b);
+
+ g_free (layout_a);
+ g_free (layout_b);
+
+ return ret;
+}
+
static void
apply_xkb_settings (void)
{
@@ -233,18 +362,44 @@ apply_xkb_settings (void)
gdm_keyboard_layout = NULL;
if (gdm_layout != NULL) {
GSList *layouts;
@ -22,7 +165,7 @@ index 346fdba..19ae642 100644
+ * list from becoming full if the user has a habit of selecting
+ * many different keyboard layouts in GDM. */
+
+ found_node = g_slist_find_custom (layouts, gdm_layout, g_strcmp0);
+ found_node = g_slist_find_custom (layouts, gdm_layout, _xkb_layout_strcmp);
+
+ if (found_node) {
+ if (g_slist_position (layouts, found_node) > 3) {
@ -39,6 +182,8 @@ index 346fdba..19ae642 100644
+ /* Insert in fourth slot or at the end of list,
+ * whichever comes first */
+ layouts = g_slist_insert (layouts, g_strdup (gdm_layout), 3);
+
+ _maybe_add_layout_switcher (layouts, conf_client);
+
gconf_client_set_list (conf_client,
GKBD_KEYBOARD_CONFIG_KEY_LAYOUTS,

View File

@ -1,3 +1,66 @@
-------------------------------------------------------------------
Tue Jul 28 18:02:32 CEST 2009 - lmedinas@gmail.com
- Update to version 2.27.5:
+ Only use applicable configurations for switching with the
XF86Display hotkey
+ Only use applicable configurations when auto-configuring
outputs during hotplug
+ Really lay out displays from left to right when using the
XF86Display hotkey
+ For the XF86Display hotkey, preserve the cycle order when
sanitizing the configurations
+ Remove last libglade dependency
+ Improved low disk space warning (bgo#573980)
+ Fix compiler warnings
+ Translation updates.
- Remove libglade2-devel BuildRequires.
-------------------------------------------------------------------
Mon Jul 20 12:50:35 CEST 2009 - vuntz@novell.com
- Update to version 2.27.4:
+ Remove screensaver plugin, it's autostarted now
+ Don't take too long in RANDR D-Bus method implementation
+ Add support for Synaptics touchpads
+ Don't spawn more than one syncdaemon
+ Depend on gnome-desktop >= 2.26.3
+ Update gnome-volume-control code from master
+ Fix order of arguments to strstr
+ Depend on libxklavier 4.0
+ Remove libglade dependency from media-keys and keyboard plugins
+ Updated translations.
- Respin gnome-settings-daemon-system-proxy-configuration.diff.
- Update gnome-settings-daemon-try-harder-gdm-layout.patch for
libxklavier API change.
-------------------------------------------------------------------
Mon Jun 15 18:45:21 CEST 2009 - vuntz@novell.com
- Update to version 2.27.3:
+ Make the RANDR tray icon's per-monitor labels explicitly black
(bgo#556050)
+ Include config.h so that the notifications code in housekeeping
plugin can actually be built (bgo#584217)
+ Use "screen reader" instead of "screenreader" in schema
(bgo#572911)
+ Lots of RANDR fixes and improvements
+ Nicer handling of broken XKB configuration in gconf
(bgo#585259)
+ Make 'locate pointer' deal with wm/cm changes (bgo#585209)
+ Be more careful when comparing two key structs (bgo#580616)
+ Updated translations.
- Drop gnome-settings-daemon-filter-invalid-xkb.patch: fixed
upstream.
- Add gnome-settings-daemon-activate-xkb-with-broken.patch to fix a
minor bug in xkb handling on login, with broken config.
- Update gnome-settings-daemon-try-harder-gdm-layout.patch to also
make sure a keybinding to switch layouts is available, and to not
add the gdm layout if we already have a variant for the layout.
- Comment out
gnome-settings-daemon-bnc461755-randr-rotate-wacom.diff: it needs
to be rebased.
-------------------------------------------------------------------
Thu Jun 11 15:30:37 CEST 2009 - vuntz@novell.com

View File

@ -1,5 +1,5 @@
#
# spec file for package gnome-settings-daemon (Version 2.27.1)
# spec file for package gnome-settings-daemon (Version 2.27.5)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@ -25,7 +25,6 @@ BuildRequires: gnome-common
BuildRequires: gnome-desktop-devel
BuildRequires: gnome-patch-translation
BuildRequires: intltool
BuildRequires: libglade2-devel
BuildRequires: libgnomekbd-devel
BuildRequires: libnotify-devel
BuildRequires: libpulse-devel
@ -33,8 +32,8 @@ BuildRequires: update-desktop-files
BuildRequires: xorg-x11
License: GPL v2 or later
Group: System/GUI/GNOME
Version: 2.27.1
Release: 3
Version: 2.27.5
Release: 1
Summary: Settings daemon for the GNOME desktop
Source: %{_name}-%{version}.tar.bz2
# PATCH-FEATURE-OPENSUSE gnome-settings-daemon-system-proxy-configuration.diff
@ -45,12 +44,12 @@ Patch6: gnome-settings-daemon-bnc427745-force-dpi.patch
Patch8: gnome-settings-daemon-apport-monitor.patch
# PATCH-FEATURE-UPSTREAM gnome-settings-daemon-bnc462640-mute-action.patch bnc462640 bgo572365 vuntz@novell.com -- Mute button should always mute sound instead of toggling mute status
Patch10: gnome-settings-daemon-bnc462640-mute-action.patch
# PATCH-FEATURE-OPENSUSE gnome-settings-daemon-bnc461755-randr-rotate-wacom.diff bnc461755 federico@novell.com - Add the option of rotating a Wacom tablet when rotating the monitor with RANDR
# PATCH-NEEDS-REBASE gnome-settings-daemon-bnc461755-randr-rotate-wacom.diff bnc461755 federico@novell.com - Add the option of rotating a Wacom tablet when rotating the monitor with RANDR (was PATCH-FEATURE-OPENSUSE)
Patch11: gnome-settings-daemon-bnc461755-randr-rotate-wacom.diff
# PATCH-FIX-UPSTREAM gnome-settings-daemon-activate-xkb-with-broken.patch bgo585868 vuntz@novell.com -- Make sure we activate the right layout when broken layouts are in gconf
Patch12: gnome-settings-daemon-activate-xkb-with-broken.patch
# PATCH-FIX-UPSTREAM # gnome-settings-daemon-try-harder-gdm-layout.patch bgo585290 vuntz@novell.com -- Try harder to use the keyboard layout passed from GDM
Patch12: gnome-settings-daemon-try-harder-gdm-layout.patch
# PATCH-FIX-UPSTREAM gnome-settings-daemon-filter-invalid-xkb.patch bgo585259 vuntz@novell.com -- Filter invalid xkb layouts from the gconf config (usually added by old gdm)
Patch13: gnome-settings-daemon-filter-invalid-xkb.patch
Patch13: gnome-settings-daemon-try-harder-gdm-layout.patch
Url: http://www.gnome.org
Requires: %{name}-lang = %{version}
Obsoletes: resapplet
@ -108,7 +107,8 @@ gnome-patch-translation-prepare
%patch6 -p1
%patch8 -p1
%patch10 -p1
%patch11 -p1
# PATCH-NEEDS-REBASE
#%patch11 -p1
%patch12 -p1
%patch13 -p1
gnome-patch-translation-update
@ -139,6 +139,7 @@ rm -rf $RPM_BUILD_ROOT
%postun -p /sbin/ldconfig
%pre -f %{name}.schemas_pre
%posttrans -f %{name}.schemas_posttrans
%preun -f %{name}.schemas_preun
@ -166,322 +167,3 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pkgconfig/*.pc
%changelog
* Thu Jun 11 2009 vuntz@novell.com
- Add gnome-settings-daemon-filter-invalid-xkb.patch: when the xkb
config from gconf can't be used, try to remove invalid xkb
layouts first before showing an error dialog. The old gdm used to
have invalid layouts.
* Wed Jun 10 2009 vuntz@novell.com
- Add gnome-settings-daemon-try-harder-gdm-layout.patch: try harder
to use the keyboard layout passed from GDM.
* Mon May 25 2009 federico@novell.com
- Added gnome-settings-daemon-bnc461755-randr-rotate-wacom.diff to fix
bnc#461755 - Add the option of rotating Wacom tablets when the
display is rotated.
* Tue May 05 2009 vuntz@novell.com
- Update to version 2.27.1:
+ Use ngettext for the reset dialog (bgo#575409)
+ Replace deprecated gtk_status_icon_set_tooltip (bgo#578480)
+ Updated translations.
* Tue Apr 14 2009 vuntz@novell.com
- Update to version 2.26.1:
+ Fix crash when closing the lid on some laptops (bgo#576875)
+ Fix crash when closing a11y notification bubble (bgo#576535)
+ Fix problems with saving/restoring screen setup
+ Make the screen resolution confirmation dialog always appear in
front of the settings window (bgo#576006)
+ Increase confirmation timeout to 30 seconds to give slower
devices (like projectors) time to adjust
+ Avoid some GConf roundtrips (bgo#578539, bgo#578542)
+ Build fixes
+ Updated translations.
* Mon Mar 16 2009 vuntz@novell.com
- Update to version 2.26.0:
+ Make build work with -Wl,-z,defs (bgo#574452)
+ Updated translations.
- Remove -fno-strict-aliasing from CFLAGS.
- Remove AutoReqProv: it's default now.
- Remove BuildRequires on gnome-control-center and own directories
instead, to avoid a build loop.
* Tue Mar 10 2009 vuntz@novell.com
- Drop gnome-settings-daemon-bnc369263-broken-xkb-layout.patch: we
now have a recent enough X server. Fix bnc#483651.
* Fri Mar 06 2009 vuntz@novell.com
- Update to version 2.25.92:
+ don't print warnings for disabled custom shortcuts
+ revert screen resolution change if the user closes the
confirmation window using the close icon or by pressing escape
(bgo#571492)
+ add missing keys for a11y shortcut keys to GConf schemas
(bgo#572807)
+ install gnome-settings-daemon-plugin.h for custom plugin
developement (bgo#573610)
+ Updated translations.
- Drop gnome-settings-daemon-bnc473980-unknown-media-key.patch:
fixed upstream.
* Thu Feb 19 2009 vuntz@novell.com
- Add gnome-settings-daemon-bnc462640-mute-button-always-mute.patch
to make it possible to always mute sound instead of toggling mute
status. Part of bnc#462640. The other part is in gconf2-branding,
to set the gconf key to actually do that.
Patch by Holger Macht.
* Wed Feb 11 2009 vuntz@novell.com
- Add gnome-settings-daemon-bnc473980-unknown-media-key.patch to
fix crasher in media keys with unknown keys. Fix bnc#473980.
* Thu Feb 05 2009 vuntz@novell.com
- Add libnotify-devel and libpulse-devel BuildRequires to get all
the features.
- Remove gstreamer-0_10-plugins-base-devel BuildRequires: it's not
needed anymore (replaced by use of libpulse).
* Thu Feb 05 2009 mboman@suse.de
- Update to version 2.25.90:
+ Initialize thread system (bgo#565515)
+ Better support for Eject and Sleep actions on BSD (bgo#565472)
+ Spawn screensaver after a 30 second timeout instead of when
idle so that it doesn't compete with other processes when the
session starts (bgo#564059)
+ Add low diskspace notification (bgo#557647)
+ Support hotkeys for a11y tools (bgo#565310)
+ Quiet xrdb when there are duplicate rules in the .ad files
(bgo#566610)
+ Add debugging output when de/registering media players
(bgo#564433)
+ Add a new sound plugin that tells PulseAudio to drop its
sample cache when the sound theme changes (bgo#545386)
+ Don't pop up an error message when there's no randr
configuration file
+ Ungrab keys when key-related plugins are disabled (bgo#567867)
+ Use PulseAudio directly to change the volume (bgo#567177)
+ Don't draw_background immediately when nautilus is disabled,
GnomeBG will send a signal
+ Add crossfade transition when switching backgrounds
(bgo#552857)
+ Use XF86Explorer to launch the file manager
+ Fix possible crash when pressing Fn-F7 (bgo#568713)
+ Delay drawing the background until SessionRunning
+ Ask for confirmation with a timeout after changing the randr
configuration (bgo#545115)
+ Plug leaks
+ Build fixes
+ Translation updates
- Remove gnome-settings-daemon-low-disk-space.patch. Fixed upstream
* Fri Jan 23 2009 vuntz@novell.com
- Re-enable gnome-settings-daemon-apport-monitor.patch, after
fixing some #include in the patch.
* Thu Jan 15 2009 federico@novell.com
- Updated gnome-settings-daemon-randr-gerror.diff to fix bnc#465968 -
The RANDR plugin was displaying a confusing error message during
GDM's startup.
* Sat Jan 10 2009 mboman@suse.de
- Remove gnome-settings-daemon-randr-gerror.diff. Fixed upstream
* Fri Jan 09 2009 federico@novell.com
- Added gnome-settings-daemon-randr-gerror.diff. This makes the RANDR
plugin for gnome-settings-daemon process GError arguments from the
GnomeRR API, so that it can give good error reporting.
- Removed gnome-settings-daemon-randr-fnf7.diff as it is already contained
within the patch above.
* Fri Jan 02 2009 mboman@suse.de
- Update to version 2.25.3:
+ Bugs fixed: bgo#562977, bgo#563543, bgo#563796, bgo#559346, bgo#559482,
bgo#559564, bgo#559550, bgo#559562, bgo#559558, bgo#559639, bgo#559827,
bgo#559695, bgo#553434, bgo#560618, bgo#559797, bgo#522673, bgo#561275,
bgo#554951, bgo#555009, bgo#555873, bgo#555553, bgo#556307, bgo#556797,
bgo#552383, bgo#557307, bgo#557806, bgo#557808, bgo#549267, bgo#558503,
bgo#557807, bgo#559162, bgo#559163, bgo#559164, bgo#559165, bgo#559166,
bgo#559167, bgo#559168
+ Add support for fn-f7 type keys (Søren Sandmann)
+ Use D-Bus instead of an X client mesage in the xrandr plugin, so
the front-end can get error messages as well
+ Shut the daemon down properly when the SIGTERM signal is received or the
D-Bus bus goes away
+ Restore AccessX bits to original values on exit, fixes sticky keys
coming on when gnome-settings-daemon has exited
+ Add some performance annotations around libxklavier calls
+ Reshufle plugin priorities a bit
+ Listen for DeviceEnabled instead of DeviceAdded to be sure the mouse has
+ Add debugging output for volume_step
+ Fix --no-daemon
+ Depend on libxklavier 3.8
+ Fix checks for various X libraries
+ Fix check for xklavier device discovery
+ Ignore the 'activate' signal for deselected items so that the rotation
+ Spawn screensaver process in idle callback
+ Don't close stderr to not lose warnings
+ Use a pipe to communicate between children and parent process instead
of a signal
+ Translation updates
- Remove gnome-settings-daemon-randr-fnf7.diff. Fixed upstream
* Tue Dec 09 2008 federico@novell.com
- Updated gnome-settings-daemon-system-proxy-configuration.diff to fix
https://bugzilla.novell.com/show_bug.cgi?id=456131 - the system's
proxy configuration was not being set in GNOME's proxy
configuration.
* Mon Oct 27 2008 jblunck@suse.de
- Add gnome-settings-daemon-apport-monitor.patch, to launching apport-gtk in
case a new crash report is available (bnc#439203)
* Thu Oct 23 2008 vuntz@novell.com
- Add gnome-settings-daemon-low-disk-space.patch, to help drop
gnome-volume-manager.
* Sat Oct 04 2008 mboman@suse.de
- Update to version 2.24.0:
- Fix the fix for read-only home directories (bgo#530975)
- Make the volume popup not crash when invoking it on any screen but
the first when using a compositing manager (bgo#551677)
- Add GPLv2 copyright notice explicitly so that newer versions of
autotools don't declare us GPLv3 (bgo#551956)
- Specify GTK modules to load in a GConf directory instead of the
single /desktop/gnome/gtk-modules key (bgo#539840)
- Also allow linking the module state to other boolean keys by using
a string value that is the name of the key to use
- Made the housekeeping plugin less aggressive by default (bgo#552680)
- Updated translations
* Fri Sep 26 2008 vuntz@novell.com
- Add gnome-settings-daemon-bnc427745-force-dpi.patch to force the
DPI to 96. This fixes huge fonts on login on recent laptops.
Fixes bnc#427745.
* Thu Sep 18 2008 rodrigo@novell.com
- Update to 2.23.92:
+ Try harder to use the keyboard layout passed by GDM (bgo#551062)
+ Updated translations
* Thu Sep 11 2008 federico@novell.com
- Added gnome-settings-daemon-randr-fnf7.diff to support switching
between display output modes on laptop by using the Fn-F7 hotkey
(i.e. XF86Display).
* Tue Sep 09 2008 federico@novell.com
- Made gnome-settings-daemon obsolete resapplet, since g-s-d now provides
the tray icon to set display settings.
* Mon Sep 01 2008 rodrigo@suse.de
- Update to version 2.23.91:
- Removed translatable property on stock gtk-close (Claude Paroz)
- Fix a constness warning (Jens Granseuer)
- Fix a crash due to an incorrect signal handler definition (William Jon
McCann)
- Use a scale factor instead of a fixed DPI (William Jon McCann)
- Use g_warning instead of g_error when setup fails so we don't abort
(Jens Granseuer) (bgo#549483)
- Updated translations
* Mon Sep 01 2008 rodrigo@suse.de
- Actually remove upstreamed patch from package.
* Tue Aug 26 2008 rodrigo@suse.de
- Update to version 2.23.90:
- PulseAudio check to not ouput "no" twice (Jens Granseuer)
- Add status icon when a11y hotkeys are enabled, and display Universal
Access preferences when it is clicked (William Jon McCann) (bgo#526070)
- Simplify libnotify check, fix fontconfig result output (Jens Granseuer)
- Put the Glade file where all the others are (jens Granseuer)
- Remove some unnecessary boilerplate (Jens Granseuer)
- Use g_file_monitor instead of g_file_monitor_file/_directory (Jens
Granseuer) (bgo#546372)
- Remove warning that isn't (Jens Granseuer)
- Fixed crash in randr startup (Jens Granseuer)
- Fail xrandr initialization if we couldn't start xrandr (Matthias Clasen)
(bgo#546446)
- Try harder to clean up xrandr in _stop so we can enable/disable the plugin
on the fly (Jens Granseuer)
- For LIBSOUNDS, check for libgnomeui, not just libgnome (Federico Mena Quintero)
- Add sexy labels when setting up dual monitors (Federico Mena Quintero)
- Add a separator to the menu before "Configure display settings" (Federico Mena
Quintero)
- Use GDK to get DPI (William Jon McCann)
- Updated translations
- Remove upstreamed patch
* Mon Aug 18 2008 cthiel@suse.de
- fix build
* Fri Aug 15 2008 federico@novell.com
- Updated to gnome-settings-daemon-2.23.6.
+ Bugs fixed: bgo#544347, bgo#544737, bgo#544733, bgo#165343, bgo#539786,
bgo#543289, bgo#543095, bgo#542275, bgo#538699, bgo#533198
- Added gnome-settings-daemon-monitor-labeling.diff to implement
labeling of monitors in the tray icon, and monitor rotation support
as well.
* Fri Jun 20 2008 maw@suse.de
- Update to version 2.23.4:
+ Bugs fixed: bgo#523743, bgo#523159, bgo#507386, bgo#525042,
bgo#524425, bgo#525426, bgo#530356, bgo#531487, bgo#531589,
bgo#530975, bgo#531861, bgo#531862, bgo#522017, bgo#531665,
bgo#536177, bgo#490374, bgo#536581, and bgo#531868
+ Updated translations
- Drop obsolete patches: gnome-settings-daemon-randr-1.2.diff
* Thu May 29 2008 federico@novell.com
- Updated gnome-settings-daemon-randr-1.2.diff with the latest fixes from upstream.
* Mon May 26 2008 vuntz@suse.de
- Add gnome-settings-daemon-bnc369263-broken-xkb-layout.patch to
unbreak corrupted keymaps on automatic login. This is only a
workaround for openSUSE 11.0, unfortunately, since nobody found
the right fix yet. Fix bnc#369263.
* Tue May 06 2008 rodrigo@suse.de
- Updated gnome-settings-daemon-system-proxy-configuration.patch
to add a missing return in non-void function
* Wed Apr 30 2008 rodrigo@suse.de
- Updated gnome-settings-daemon-system-proxy-configuration.patch
to make it apply again
* Fri Apr 25 2008 federico@novell.com
- Added gnome-settings-daemon-randr-1.2.diff to integrate the new
functionality to configure RandR 1.2.
* Fri Apr 11 2008 maw@suse.de
- Update to version 2.22.1:
+ Fix segfault when shutting down the typing break monitor (Jens Granseuer)
(bgo#521786)
+ Set window type hint on the volume popup (bgo#522232)
+ Remove unused properties from actions GUI
+ Reset opacity when removing the timeout (bgo#522499)
+ Fix handling of child process
+ Add a tool to test media keys
+ Add some profiling code
+ Fix compiler warnings
+ Fix leaks (bgo#524183)
+ Add more stuff to the configuration summary
+ Don't eat key events (bgo#523676)
+ Apply keyboard settings on startup (bgo#525440)
+ Make "Home" keybinding work again
+ Updated translations.
* Fri Mar 14 2008 maw@suse.de
- Update to version 2.22.0:
+ Actually link against libXi when building with XInput support
(bgo#519488)
+ Disable debug by default
+ Don't pass GErrorss if we're not going to use them
+ Remove obsolete settings for the removed default editor plugin
+ Updated translations.
* Thu Mar 13 2008 sbrabec@suse.cz
- Custom look'n'feel gconf keys moved to gconf2-branding-openSUSE.
* Wed Feb 20 2008 maw@suse.de
- Update to version 2.21.91:
+ Use a flat directory instead of a hierarchy to install plugins
into (bgo#513246)
+ Don't scan the plugins directory recursively (#513246)
+ Install the settings plugin to a versioned directory to fix install
with libdir == libexecdir (bgo#504203)
+ Review short and long descriptions for GConf keys (bgo#514047)
+ Don't crash when running the screensaver fails (bgo#514385)
+ Rename src folder to gnome-settings-daemon (bgo#511820)
+ Add uninstalled.pc file for building against an uninstalled copy of
g-s-d (bgo#511820)
+ Add separate checks for libbackground and use external copy
+ Use gnome_settings_daemon for the GConf path (bgo#514411)
+ Release the Glade XML ASAP and keep track of the 2 widgets we need
+ Make sure we return a GError if initialization fails (bgo#514926)
+ Load the XKB settings initially (bgo#511771)
+ Fix leaks
+ Unref the GConfClient only after done with it
+ Check for xinput (bgo#514942)
+ Fix copy'n'paste error (bgo#515426)
+ Declare variables at the beginning of a block to make older compilers
happy
+ Add back support for defining plugin start order
+ Assign return value from g_slist_sort to the plugins list variable
(bgo#515340)
+ Replace gnome_vfs usage with GIO (bgo#513990).
* Fri Feb 01 2008 rodrigo@suse.de
- Update to version 2.21.90.2:
* Use correct binary path in DBus service file
* Updated translations
* Fri Jan 25 2008 rodrigo@suse.de
- Added missing unpackaged files
- Depend on gstreamer-0_10-plugins-base-devel for the sound module
* Wed Jan 16 2008 rodrigo@suse.de
- Disabled patches that need rebase.
- No need for gnome-patch-translation
- Updated BuildRequires
* Wed Jan 16 2008 rodrigo@suse.de
- First version of new gnome-settings-daemon package.