diff options
author | Serhii Riznychenko | 2021-04-08 21:03:00 +0300 |
---|---|---|
committer | Serhii Riznychenko | 2021-04-08 21:10:51 +0300 |
commit | 3f2228f7a2bedf5192ea34ce338ef0714321b6ab (patch) | |
tree | 2758ca54f1d06b9b41222815169ce24409a7dcab | |
download | aur-3f2228f7a2bedf5192ea34ce338ef0714321b6ab.tar.gz |
init package
-rw-r--r-- | .SRCINFO | 40 | ||||
-rw-r--r-- | PKGBUILD | 89 | ||||
-rw-r--r-- | disable_watchdog.patch | 25 | ||||
-rw-r--r-- | fix-autoconf.patch | 12 | ||||
-rw-r--r-- | fix-systemd-support.patch | 91 | ||||
-rw-r--r-- | gnome-desktop-3.36.patch | 13 | ||||
-rw-r--r-- | gnome-screensaver.pam | 3 | ||||
-rw-r--r-- | lightdm_switch_user.patch | 100 | ||||
-rw-r--r-- | lock_screen_on_suspend.patch | 51 | ||||
-rw-r--r-- | move-desktop-file.patch | 34 | ||||
-rw-r--r-- | recenter.patch | 16 | ||||
-rw-r--r-- | use-screensaver-background.patch | 53 |
12 files changed, 527 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..8b383c0edf00 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,40 @@ +pkgbase = gnome-screensaver-no-watchdog + pkgdesc = Legacy GNOME screensaver + pkgver = 3.6.1 + pkgrel = 17 + url = https://wiki.gnome.org/Projects/GnomeScreensaver + arch = x86_64 + license = GPL + makedepends = intltool + makedepends = gnome-common + depends = dbus-glib + depends = libgnomekbd + depends = gnome-desktop + optdepends = gnome-backgrounds: default background + provides = gnome-screensaver + backup = etc/pam.d/gnome-screensaver + source = https://download.gnome.org/sources/gnome-screensaver-no-watchdog/3.6/gnome-screensaver-no-watchdog-3.6.1.tar.xz + source = gnome-screensaver.pam + source = move-desktop-file.patch + source = fix-autoconf.patch + source = fix-systemd-support.patch + source = lock_screen_on_suspend.patch + source = lightdm_switch_user.patch + source = use-screensaver-background.patch + source = recenter.patch + source = gnome-desktop-3.36.patch + source = disable_watchdog.patch + sha256sums = f39b78d4f7fed748c7f0a31d694112fb907c6d3c4e63db22eb858df07e962cd0 + sha256sums = b6ea9e2eb586d94bcabb617a8f1c2958111df87afdbb51f645882bccdc15cbda + sha256sums = 4bb96f62aa069c83b629204a79a3f63b146bcaf773569aee8b5dd23fbcd88974 + sha256sums = c4da9c18b543ecbc781c1f103321b324a855bdd0979fd36b437f6033736ad4bb + sha256sums = 8aa387578c1756e573f6558a66be25fc96d7e8567fb7bee580159479841f5f45 + sha256sums = 516c479558576c6c5a2509abfcbf4fdafb5953d252e7a4ab972f9db6137daca8 + sha256sums = 5d40bd6e1843150912dc52932eaa94c0f6d57931fd45a3769ef40e2335fe3c6f + sha256sums = 7161ff962801d9e34ea564c372de4b5f93b30180b83c13aadbc9a8a1cd73ff65 + sha256sums = 6c428b9296376e4b5e2aaf503a754a1ba58333aab50c82279b7c5615d8dd9e69 + sha256sums = 412acd14cf665c43a6e2831ed9941fc034174b8beb454210bca8b6068e1239c3 + sha256sums = f849718a2927276840106a1d3d1bb3ffd713b7ddbe009311935d9ee8134da887 + +pkgname = gnome-screensaver-no-watchdog + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..7810aaab27d1 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,89 @@ +# Maintainer: Serhii Riznychenko <magnesijium @@ gmail .. com> +# Contributor: Balló György <ballogyor+arch at gmail dot com> +# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> + +pkgname=gnome-screensaver-no-watchdog +pkgver=3.6.1 +pkgrel=17 +pkgdesc="Legacy GNOME screensaver" +arch=('x86_64') +license=('GPL') +url="https://wiki.gnome.org/Projects/GnomeScreensaver" +backup=(etc/pam.d/gnome-screensaver) +depends=('dbus-glib' 'libgnomekbd' 'gnome-desktop') +makedepends=('intltool' 'gnome-common') +optdepends=('gnome-backgrounds: default background') +provides=('gnome-screensaver') +source=(https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz + gnome-screensaver.pam + move-desktop-file.patch + fix-autoconf.patch + fix-systemd-support.patch + lock_screen_on_suspend.patch + lightdm_switch_user.patch + use-screensaver-background.patch + recenter.patch + gnome-desktop-3.36.patch + disable_watchdog.patch) +sha256sums=('f39b78d4f7fed748c7f0a31d694112fb907c6d3c4e63db22eb858df07e962cd0' + 'b6ea9e2eb586d94bcabb617a8f1c2958111df87afdbb51f645882bccdc15cbda' + '4bb96f62aa069c83b629204a79a3f63b146bcaf773569aee8b5dd23fbcd88974' + 'c4da9c18b543ecbc781c1f103321b324a855bdd0979fd36b437f6033736ad4bb' + '8aa387578c1756e573f6558a66be25fc96d7e8567fb7bee580159479841f5f45' + '516c479558576c6c5a2509abfcbf4fdafb5953d252e7a4ab972f9db6137daca8' + '5d40bd6e1843150912dc52932eaa94c0f6d57931fd45a3769ef40e2335fe3c6f' + '7161ff962801d9e34ea564c372de4b5f93b30180b83c13aadbc9a8a1cd73ff65' + '6c428b9296376e4b5e2aaf503a754a1ba58333aab50c82279b7c5615d8dd9e69' + '412acd14cf665c43a6e2831ed9941fc034174b8beb454210bca8b6068e1239c3' + 'f849718a2927276840106a1d3d1bb3ffd713b7ddbe009311935d9ee8134da887') + +prepare() { + cd $pkgname-$pkgver + + # Upstream patch that moves gnome-screensaver desktop file out of autostart + patch -Np1 -i ../move-desktop-file.patch + + # Fix build + patch -Np1 -i ../fix-autoconf.patch + + # Fix systemd support + patch -Np1 -i ../fix-systemd-support.patch + + # Lock screen on suspend with systemd + patch -Np1 -i ../lock_screen_on_suspend.patch + + # Add support for user switch with LightDM + patch -Np1 -i ../lightdm_switch_user.patch + + # Honour background setting of the lock screen + patch -Np1 -i ../use-screensaver-background.patch + + # Restore the original position after shake + patch -Np1 -i ../recenter.patch + + # Fix built with gnome-desktop 3.36 + patch -Np1 -i ../gnome-desktop-3.36.patch + + # Disable watchdog that drops x11 settings + patch -Np1 -i ../disable_watchdog.patch + + # Fix build with systemd support + sed -i 's/libsystemd-login libsystemd-daemon/libsystemd/' configure.ac + + autoreconf -fi +} + +build() { + cd $pkgname-$pkgver + CFLAGS+=" -Wno-error=return-type" + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \ + --with-mit-ext --without-console-kit --with-systemd + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -Dm644 ../gnome-screensaver.pam "$pkgdir/etc/pam.d/gnome-screensaver" +} diff --git a/disable_watchdog.patch b/disable_watchdog.patch new file mode 100644 index 000000000000..407c96d8ca09 --- /dev/null +++ b/disable_watchdog.patch @@ -0,0 +1,25 @@ +diff --git a/src/gs-watcher-x11.c b/src/gs-watcher-x11.c +index f0b0d83..89cfc66 100644 +--- a/src/gs-watcher-x11.c ++++ b/src/gs-watcher-x11.c +@@ -492,7 +492,7 @@ gs_watcher_init (GSWatcher *watcher) + /* time before idle signal to send notice signal */ + watcher->priv->delta_notice_timeout = 10000; + +- add_watchdog_timer (watcher, 600000); ++ // add_watchdog_timer (watcher, 600000); + } + + static void +@@ -606,7 +606,7 @@ static gboolean + watchdog_timer (GSWatcher *watcher) + { + +- disable_builtin_screensaver (watcher, FALSE); ++ // disable_builtin_screensaver (watcher, FALSE); + + return TRUE; + } +-- +2.31.1 + diff --git a/fix-autoconf.patch b/fix-autoconf.patch new file mode 100644 index 000000000000..653b42bc8e55 --- /dev/null +++ b/fix-autoconf.patch @@ -0,0 +1,12 @@ +diff -Naur gnome-screensaver-3.6.1.orig/configure.ac gnome-screensaver-3.6.1/configure.ac +--- gnome-screensaver-3.6.1.orig/configure.ac 2012-10-16 04:28:59.000000000 +0200 ++++ gnome-screensaver-3.6.1/configure.ac 2013-04-10 14:24:44.844833193 +0200 +@@ -10,7 +10,7 @@ + AM_INIT_AUTOMAKE([1.10 no-dist-gzip dist-xz tar-ustar]) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +-AM_CONFIG_HEADER(config.h) ++AC_CONFIG_HEADERS(config.h) + + AM_MAINTAINER_MODE([enable]) + diff --git a/fix-systemd-support.patch b/fix-systemd-support.patch new file mode 100644 index 000000000000..61db060291b8 --- /dev/null +++ b/fix-systemd-support.patch @@ -0,0 +1,91 @@ +From cac2c0ad8f4f40b6b175b9fbcde06935859f1bbc Mon Sep 17 00:00:00 2001 +From: Peter de Ridder <peter@xfce.org> +Date: Wed, 20 Mar 2013 20:44:51 +0100 +Subject: [PATCH] Use the session path instead of the session id. + +--- + src/gs-listener-dbus.c | 47 +++++++++++++++++++++++++++-------------------- + 1 file changed, 27 insertions(+), 20 deletions(-) + +diff --git a/src/gs-listener-dbus.c b/src/gs-listener-dbus.c +index 703d9e1..11fb95e 100644 +--- a/src/gs-listener-dbus.c ++++ b/src/gs-listener-dbus.c +@@ -25,6 +25,7 @@ + #include <stdio.h> + #include <time.h> + #include <string.h> ++#include <unistd.h> + + #include <glib/gi18n.h> + +@@ -116,19 +117,8 @@ enum { + if (listener->priv->session_id == NULL) + return FALSE; + +-#ifdef WITH_SYSTEMD +- /* The bus object path is simply the actual session ID +- * prefixed to make it a bus path */ +- if (listener->priv->have_systemd) +- return g_str_has_prefix (ssid, SYSTEMD_LOGIND_SESSION_PATH "/") +- && strcmp (ssid + sizeof (SYSTEMD_LOGIND_SESSION_PATH), +- listener->priv->session_id) == 0; +-#endif +- +-#ifdef WITH_CONSOLE_KIT + if (strcmp (ssid, listener->priv->session_id) == 0) + return TRUE; +-#endif + + return FALSE; + } +@@ -416,20 +406,37 @@ enum { + + #ifdef WITH_SYSTEMD + if (listener->priv->have_systemd) { +- char *t; +- int r; ++ dbus_uint32_t pid = getpid(); + +- r = sd_pid_get_session (0, &t); +- if (r < 0) { +- gs_debug ("Couldn't determine our own session id: %s", strerror (-r)); ++ message = dbus_message_new_method_call (SYSTEMD_LOGIND_SERVICE, SYSTEMD_LOGIND_PATH, SYSTEMD_LOGIND_INTERFACE, "GetSessionByPID"); ++ if (message == NULL) { ++ gs_debug ("Couldn't allocate the dbus message"); + return NULL; + } + +- /* t is allocated with malloc(), we need it with g_malloc() */ +- ssid = g_strdup(t); +- free (t); ++ if (dbus_message_append_args (message, DBUS_TYPE_UINT32, &pid, DBUS_TYPE_INVALID) == FALSE) { ++ gs_debug ("Couldn't add args to the dbus message"); ++ return NULL; ++ } ++ ++ /* FIXME: use async? */ ++ reply = dbus_connection_send_with_reply_and_block (listener->priv->system_connection, ++ message, ++ -1, &error); ++ dbus_message_unref (message); ++ ++ if (dbus_error_is_set (&error)) { ++ gs_debug ("%s raised:\n %s\n\n", error.name, error.message); ++ dbus_error_free (&error); ++ return NULL; ++ } ++ ++ dbus_message_iter_init (reply, &reply_iter); ++ dbus_message_iter_get_basic (&reply_iter, &ssid); ++ ++ dbus_message_unref (reply); + +- return ssid; ++ return g_strdup (ssid); + } + #endif + +-- +1.8.4 + diff --git a/gnome-desktop-3.36.patch b/gnome-desktop-3.36.patch new file mode 100644 index 000000000000..58d92e463a3f --- /dev/null +++ b/gnome-desktop-3.36.patch @@ -0,0 +1,13 @@ +diff -Naur gnome-screensaver-3.6.1.orig/src/gs-manager.c gnome-screensaver-3.6.1/src/gs-manager.c +--- gnome-screensaver-3.6.1.orig/src/gs-manager.c 2020-03-08 08:53:46.408431578 +0000 ++++ gnome-screensaver-3.6.1/src/gs-manager.c 2020-03-08 08:54:31.875738732 +0000 +@@ -788,8 +788,7 @@ + surface = gnome_bg_create_surface (manager->priv->bg, + gdk_window, + width, +- height, +- FALSE); ++ height); + gs_window_set_background_surface (window, surface); + cairo_surface_destroy (surface); + } diff --git a/gnome-screensaver.pam b/gnome-screensaver.pam new file mode 100644 index 000000000000..8d3baf0851c2 --- /dev/null +++ b/gnome-screensaver.pam @@ -0,0 +1,3 @@ +#%PAM-1.0 +auth substack system-login +-auth optional pam_gnome_keyring.so diff --git a/lightdm_switch_user.patch b/lightdm_switch_user.patch new file mode 100644 index 000000000000..27f67efc7683 --- /dev/null +++ b/lightdm_switch_user.patch @@ -0,0 +1,100 @@ +Description: Under lightdm, use dbus to switch to greeter instead of + calling gdmflexiserver +Author: Marc Deslauriers <marc.deslauriers@canonical.com> +Forwarded: No, upstream uses GDM +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gnome-screensaver/+bug/950583 + +Index: gnome-screensaver-3.4.2/src/gs-lock-plug.c +=================================================================== +--- gnome-screensaver-3.4.2.orig/src/gs-lock-plug.c 2012-06-28 10:50:53.955326278 +1200 ++++ gnome-screensaver-3.4.2/src/gs-lock-plug.c 2012-06-28 10:50:58.055326137 +1200 +@@ -148,28 +148,60 @@ + static void + do_user_switch (GSLockPlug *plug) + { +- GAppInfo *app; +- GAppLaunchContext *context; +- GError *error; +- char *command; +- +- command = g_strdup_printf ("%s %s", +- GDM_FLEXISERVER_COMMAND, +- GDM_FLEXISERVER_ARGS); ++ GError *error = NULL; + +- error = NULL; +- context = (GAppLaunchContext*)gdk_app_launch_context_new (); +- app = g_app_info_create_from_commandline (command, "gdmflexiserver", 0, &error); +- if (app) +- g_app_info_launch (app, NULL, context, &error); +- +- g_free (command); +- g_object_unref (context); +- g_object_unref (app); ++ /* If running under LightDM switch to the greeter using dbus */ ++ if (g_getenv("XDG_SEAT_PATH")) { ++ GDBusConnection *bus; ++ GVariant *result = NULL; ++ ++ bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error); ++ if (error) ++ g_warning ("Failed to get system bus: %s", error->message); ++ g_clear_error (&error); ++ ++ if (bus) ++ result = g_dbus_connection_call_sync (bus, ++ "org.freedesktop.DisplayManager", ++ g_getenv ("XDG_SEAT_PATH"), ++ "org.freedesktop.DisplayManager.Seat", ++ "SwitchToGreeter", ++ g_variant_new ("()"), ++ G_VARIANT_TYPE ("()"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, ++ &error); ++ if (error) ++ g_warning ("Failed to switch to greeter: %s", error->message); ++ g_clear_error (&error); + +- if (error != NULL) { +- gs_debug ("Unable to start GDM greeter: %s", error->message); +- g_error_free (error); ++ if (result) ++ g_variant_unref (result); ++ } else { ++ ++ GAppInfo *app; ++ GAppLaunchContext *context; ++ char *command; ++ ++ command = g_strdup_printf ("%s %s", ++ GDM_FLEXISERVER_COMMAND, ++ GDM_FLEXISERVER_ARGS); ++ ++ error = NULL; ++ context = (GAppLaunchContext*)gdk_app_launch_context_new (); ++ app = g_app_info_create_from_commandline (command, "gdmflexiserver", 0, &error); ++ if (app) ++ g_app_info_launch (app, NULL, context, &error); ++ ++ g_free (command); ++ g_object_unref (context); ++ g_object_unref (app); ++ ++ if (error != NULL) { ++ gs_debug ("Unable to start GDM greeter: %s", error->message); ++ g_error_free (error); ++ } + } + } + +@@ -1026,7 +1058,7 @@ + if (switch_enabled) { + gboolean found; + found = is_program_in_path (GDM_FLEXISERVER_COMMAND); +- if (found) { ++ if (found || g_getenv("XDG_SEAT_PATH")) { + gtk_widget_show (plug->priv->auth_switch_button); + } else { + gs_debug ("Waring: GDM flexiserver command not found: %s", GDM_FLEXISERVER_COMMAND); diff --git a/lock_screen_on_suspend.patch b/lock_screen_on_suspend.patch new file mode 100644 index 000000000000..5c273c70e4c0 --- /dev/null +++ b/lock_screen_on_suspend.patch @@ -0,0 +1,51 @@ +From f8f9beb6a3bf81240d36bfec43e5db9b102ea91e Mon Sep 17 00:00:00 2001 +From: Martin Pitt <martinpitt@gnome.org> +Date: Wed, 1 May 2013 10:55:49 -0700 +Subject: [PATCH] Lock screen on suspend + +Listen for logind's PrepareForSleep signal, and lock the screen (if configured +to do so). This mirrors what gnome-shell's screensaver does. +--- + src/gs-listener-dbus.c | 28 ++++++++++++++++++++++++++++ + src/gs-listener-dbus.h | 1 + + src/gs-monitor.c | 20 ++++++++++++++++++++ + 3 files changed, 49 insertions(+) + +diff --git a/src/gs-listener-dbus.c b/src/gs-listener-dbus.c +index 7f718fa..49586fd 100644 +--- a/src/gs-listener-dbus.c ++++ b/src/gs-listener-dbus.c +@@ -871,6 +872,17 @@ listener_dbus_handle_system_message (DBusConnection *connection, + } + + return DBUS_HANDLER_RESULT_HANDLED; ++ } else if (dbus_message_is_signal (message, SYSTEMD_LOGIND_INTERFACE, "PrepareForSleep")) { ++ gboolean active; ++ if (dbus_message_get_args (message, NULL, ++ DBUS_TYPE_BOOLEAN, &active, ++ DBUS_TYPE_INVALID) && active) { ++ gs_debug ("systemd notified that system is about to sleep"); ++ g_signal_emit (listener, signals [LOCK], 0); ++ } else { ++ gs_debug ("cannot parse PrepareForSleep"); ++ } ++ return DBUS_HANDLER_RESULT_HANDLED; + } else if (dbus_message_is_signal (message, DBUS_INTERFACE_PROPERTIES, "PropertiesChanged")) { + + if (_listener_message_path_is_our_session (listener, message)) { +@@ -1370,6 +1392,12 @@ gs_listener_acquire (GSListener *listener, + ",interface='"DBUS_INTERFACE_PROPERTIES"'" + ",member='PropertiesChanged'", + NULL); ++ dbus_bus_add_match (listener->priv->system_connection, ++ "type='signal'" ++ ",sender='"SYSTEMD_LOGIND_SERVICE"'" ++ ",interface='"SYSTEMD_LOGIND_INTERFACE"'" ++ ",member='PrepareForSleep'", ++ NULL); + + return (res != -1); + } +-- +1.8.1.2 + diff --git a/move-desktop-file.patch b/move-desktop-file.patch new file mode 100644 index 000000000000..d918405adbc8 --- /dev/null +++ b/move-desktop-file.patch @@ -0,0 +1,34 @@ +From 1940dc6bc8ad5ee2c029714efb1276c05ca80bd4 Mon Sep 17 00:00:00 2001 +From: Tim Lunn <tim@feathertop.org> +Date: Thu, 18 Oct 2012 23:08:56 +0000 +Subject: move gnome-screensaver desktop file out of autostart + +https://bugzilla.gnome.org/show_bug.cgi?id=683060 +--- +diff --git a/src/Makefile.am b/src/Makefile.am +index 1dd5d46..97ffa07 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -47,7 +47,7 @@ noinst_PROGRAMS = \ + test-window \ + $(NULL) + +-desktopdir = $(sysconfdir)/xdg/autostart ++desktopdir = $(datadir)/applications + desktop_in_files = gnome-screensaver.desktop.in + desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) + @INTLTOOL_DESKTOP_RULE@ +diff --git a/src/gnome-screensaver.desktop.in.in b/src/gnome-screensaver.desktop.in.in +index fae80c4..82d6d6f 100644 +--- a/src/gnome-screensaver.desktop.in.in ++++ b/src/gnome-screensaver.desktop.in.in +@@ -5,7 +5,6 @@ _Comment=Launch screensaver and locker program + Icon=preferences-desktop-screensaver + Exec=gnome-screensaver + OnlyShowIn=GNOME; +-AutostartCondition=GNOME3 if-session gnome-fallback + NoDisplay=true + X-GNOME-Autostart-Phase=Application + X-GNOME-Autostart-Notify=true +-- +cgit v0.9.1 diff --git a/recenter.patch b/recenter.patch new file mode 100644 index 000000000000..e2cdf19a0f00 --- /dev/null +++ b/recenter.patch @@ -0,0 +1,16 @@ +diff --git a/src/gs-window-x11.c b/src/gs-window-x11.c +index d267f59..fbfbd8a 100644 +--- a/src/gs-window-x11.c ++++ b/src/gs-window-x11.c +@@ -1283,6 +1283,11 @@ shake_dialog (GSWindow *window) + g_usleep (10000); + } + ++ gtk_alignment_set_padding (GTK_ALIGNMENT (window->priv->lock_box), ++ 0, 0, ++ 0, ++ 0); ++ + window->priv->dialog_shake_in_progress = FALSE; + maybe_kill_dialog (window); + } diff --git a/use-screensaver-background.patch b/use-screensaver-background.patch new file mode 100644 index 000000000000..431bb675037c --- /dev/null +++ b/use-screensaver-background.patch @@ -0,0 +1,53 @@ +diff -Naur gnome-screensaver-3.6.1.orig/src/gs-manager.c gnome-screensaver-3.6.1/src/gs-manager.c +--- gnome-screensaver-3.6.1.orig/src/gs-manager.c 2012-08-20 19:12:39.000000000 +0200 ++++ gnome-screensaver-3.6.1/src/gs-manager.c 2014-10-08 03:49:37.877178771 +0200 +@@ -555,40 +555,8 @@ + gint n_keys, + GSManager *manager) + { +-#if 0 +- /* FIXME: since we bind user settings instead of system ones, +- * watching for changes is no longer valid. +- */ + gnome_bg_load_from_preferences (manager->priv->bg, + manager->priv->settings); +-#endif +- +- return FALSE; +-} +- +-static GSettings * +-get_system_settings (void) +-{ +- GSettings *settings; +- gchar **keys; +- gchar **k; +- +- /* FIXME: we need to bind system settings instead of user but +- * that's currently impossible, not implemented yet. +- * Hence, reset to system default values. +- */ +- /* TODO: Ideally we would like to bind some other key, screensaver-specific. */ +- settings = g_settings_new ("org.gnome.desktop.background"); +- +- g_settings_delay (settings); +- +- keys = g_settings_list_keys (settings); +- for (k = keys; *k; k++) { +- g_settings_reset (settings, *k); +- } +- g_strfreev (keys); +- +- return settings; + } + + static void +@@ -599,7 +567,7 @@ + manager->priv->fade = gs_fade_new (); + manager->priv->grab = gs_grab_new (); + +- manager->priv->settings = get_system_settings (); ++ manager->priv->settings = g_settings_new ("org.gnome.desktop.screensaver"); + manager->priv->bg = gnome_bg_new (); + + g_signal_connect (manager->priv->bg, |