Compare commits

..

No commits in common. "51693c1fa6283d8023f425b1d225b534be16fd55" and "e5b8e5ccf8c393ae64b81c1a50fa499c4487514d" have entirely different histories.

3 changed files with 0 additions and 666 deletions

Binary file not shown.

View File

@ -1,408 +0,0 @@
# Conditional for release and snapshot builds. Uncomment for release-builds.
%global rel_build 1
# This is needed, because src-url contains branched part of versioning-scheme.
%global branch 1.24
# Settings used for build from snapshots.
%{!?rel_build:%global commit d5b35083e4de1d7457ebd937172bb0054e1fa089}
%{!?rel_build:%global commit_date 20140125}
%{!?rel_build:%global shortcommit %(c=%{commit};echo ${c:0:7})}
%{!?rel_build:%global git_ver git%{commit_date}-%{shortcommit}}
%{!?rel_build:%global git_rel .git%{commit_date}.%{shortcommit}}
%{!?rel_build:%global git_tar %{name}-%{version}-%{git_ver}.tar.xz}
Name: mate-screensaver
Version: %{branch}.0
%if 0%{?rel_build}
Release: 5
%else
Release: 0.13%{?git_rel}
%endif
Summary: MATE Screensaver
License: GPLv2+ and LGPLv2+
URL: http://pub.mate-desktop.org
# for downloading the tarball use 'spectool -g -R mate-screensaver.spec'
# Source for release-builds.
%{?rel_build:Source0: http://pub.mate-desktop.org/releases/%{branch}/%{name}-%{version}.tar.xz}
# Source for snapshot-builds.
%{!?rel_build:Source0: http://git.mate-desktop.org/%{name}/snapshot/%{name}-%{commit}.tar.xz#/%{git_tar}}
# https://github.com/mate-desktop/mate-screensaver/pull/224
Patch1: mate-screensaver_0001-Custom-background-image-for-lock-screen.patch
Requires: openEuler-menus
Requires: system-logos
Requires: gnome-keyring-pam
BuildRequires: dbus-glib-devel
BuildRequires: desktop-file-utils
BuildRequires: gtk3-devel
BuildRequires: libX11-devel
BuildRequires: libXScrnSaver-devel
BuildRequires: libXinerama-devel
BuildRequires: libXmu-devel
BuildRequires: libXtst-devel
BuildRequires: libXxf86vm-devel
BuildRequires: libmatekbd-devel
BuildRequires: libnotify-devel
BuildRequires: mate-common
BuildRequires: mate-desktop-devel
BuildRequires: mate-menus-devel
BuildRequires: mesa-libGL-devel
BuildRequires: pam-devel
BuildRequires: systemd-devel
BuildRequires: xorg-x11-proto-devel
BuildRequires: xmlto
%description
mate-screensaver is a screen saver and locker that aims to have
simple, sane, secure defaults and be well integrated with the desktop.
%package devel
Summary: Development files for mate-screensaver
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Development files for mate-screensaver
%prep
%if 0%{?rel_build}
%autosetup -p1
%else
%autosetup -n %{name}-%{commit} -p1
%endif
%if 0%{?rel_build}
#NOCONFIGURE=1 ./autogen.sh
%else # 0%{?rel_build}
# for snapshots
# needed for git snapshots
NOCONFIGURE=1 ./autogen.sh
%endif # 0%{?rel_build}
%build
%configure \
--with-x \
--disable-schemas-compile \
--enable-docbook-docs \
--with-mit-ext \
--with-xf86gamma-ext \
--with-libgl \
--with-shadow \
--enable-locking \
--with-systemd \
--enable-pam \
--without-console-kit
make %{?_smp_mflags} V=1
%install
%{make_install}
desktop-file-install --delete-original \
--dir %{buildroot}%{_datadir}/applications \
%{buildroot}%{_datadir}/applications/mate-screensaver-preferences.desktop
desktop-file-install \
--delete-original \
--dir %{buildroot}%{_datadir}/applications/screensavers \
%{buildroot}%{_datadir}/applications/screensavers/*.desktop
# fix versioned doc dir
%if 0%{?fedora} > 19 || 0%{?rhel} > 7 || 0%{?openEuler}
mkdir -p %{buildroot}%{_datadir}/doc/mate-screensaver
mv %{buildroot}%{_datadir}/doc/mate-screensaver-%{version}/mate-screensaver.html %{buildroot}%{_datadir}/doc/mate-screensaver/mate-screensaver.html
%endif
%find_lang %{name} --with-gnome --all-name
%files -f %{name}.lang
%doc AUTHORS NEWS README COPYING
%{_bindir}/mate-screensaver*
%{_sysconfdir}/pam.d/mate-screensaver
%{_sysconfdir}/xdg/menus/mate-screensavers.menu
%{_sysconfdir}/xdg/autostart/mate-screensaver.desktop
%{_libexecdir}/mate-screensaver-*
%{_libexecdir}/mate-screensaver/
%{_datadir}/applications/mate-screensaver-preferences.desktop
%{_datadir}/applications/screensavers/*.desktop
%{_datadir}/mate-screensaver/
%{_datadir}/backgrounds/cosmos/
%{_datadir}/pixmaps/mate-logo-white.svg
%{_datadir}/pixmaps/gnome-logo-white.svg
%{_datadir}/desktop-directories/mate-screensaver.directory
%{_datadir}/glib-2.0/schemas/org.mate.screensaver.gschema.xml
%{_datadir}/mate-background-properties/cosmos.xml
%{_datadir}/dbus-1/services/org.mate.ScreenSaver.service
%if 0%{?fedora} > 19 || 0%{?rhel} > 7 || 0%{?openEuler}
%{_docdir}/mate-screensaver/mate-screensaver.html
%endif
%{_mandir}/man1/*
%files devel
%{_libdir}/pkgconfig/*
%changelog
* Wed Jul 27 2022 longcheng <longcheng@kylinos.com.cn> - 1.24.0-5
- fix build error in openeuler
* Thu Jul 14 2022 longcheng <longcheng@kylinos.com.cn> - 1.24.0-4
- Modify the require redhats-menus to openEuler-menus
- delete %{?dist}
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.24.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Mar 27 2020 Wolfgang Ulbrich <fedora@raveit.de> - 1.24.0-2
- update UI to add a custom background-image for the lock-screen
* Mon Feb 10 2020 Wolfgang Ulbrich <fedora@raveit.de> - 1.24.0-1
- update to 1.24.0
* Mon Feb 03 2020 Wolfgang Ulbrich <fedora@raveit.de> - 1.23.1-1
- update to 1.23.1
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.22.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Sep 21 2019 Wolfgang Ulbrich <fedora@raveit.de> - 1.22.2-1
- update to 1.22.2
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.22.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jun 20 2019 Adam Jackson <ajax@redhat.com> - 1.22.1-2
- Drop BuildRequires: libXxf86misc-devel, X servers haven't implemented that
extension in 10+ years.
* Thu Apr 25 2019 Wolfgang Ulbrich <fedora@raveit.de> - 1.22.1-1
- update to 1.22.1
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.20.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Dec 22 2018 Wolfgang Ulbrich <fedora@raveit.de> - 1.20.3-1
- update to 1.20.3
* Sun Sep 09 2018 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.20.2-2
- update to 1.20.2
* Sat Aug 25 2018 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.20.1-3
- fix rhbz (#1566571, #1397900, #1474046)
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.20.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sat Jun 16 2018 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.20.1-1
- update to 1.20.1 release
* Sun Feb 11 2018 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.20.0-1
- update to 1.20.0 release
- drop GSettings Schema rpm scriplet
- switch to using autosetup
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Jan 20 2018 Björn Esser <besser82@fedoraproject.org> - 1.19.1-2
- Rebuilt for switch to libxcrypt
* Mon Jan 01 2018 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.19.1-1
- update to 1.19.1
* Sun Sep 10 2017 Wolfgang Ulbrich <fedora@raveit.de> - 1.19.0-1
- update to 1.19.0
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.18.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.18.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sun Apr 16 2017 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.18.1-1
- update to 1.18.1 release
* Tue Mar 14 2017 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.18.0-1
- update to 1.18.0 release
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Jan 19 2017 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.17.1-1
- update to 1.17.1 release
* Sat Dec 03 2016 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.17.0-1
- update to 1.17.0 release
* Wed Sep 21 2016 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.16.0-1
- update to 1.16.0 release
* Thu Jun 09 2016 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.15.0-1
- update to 1.15.0 release
- switch to gtk+3
* Sat May 21 2016 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.14.1-1
- update to 1.14.1 release
* Wed Apr 06 2016 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.14.0-1
- update to 1.14.0 release
* Sun Feb 07 2016 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.13.0-1
- update to 1.13.0 release
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Fri Nov 06 2015 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.12.0-1
- update to 1.12.0 release
* Wed Oct 21 2015 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.11.1-1
- update to 1.11.0 release
* Fri Oct 16 2015 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.10.2-3
- revert 'Lock the screen on systemd sleep under systemd'
* Thu Sep 24 2015 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.10.2-2
- improve systemd-login support
* Mon Jul 13 2015 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.10.2-1
- update to 1.10.2 release
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Fri Jun 12 2015 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.10.1.1
- update to 1.10.1 release
- removed upstreamed patches
* Tue May 05 2015 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.10.0-1
- update to 1.10.0-1 release
* Sat Apr 04 2015 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.9.90-1
- update to 1.9.90 release
* Wed Apr 01 2015 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.9.2-3
- fix user switching if more than 2 desktop managers are installed
- remove conditions for f19
* Fri Feb 20 2015 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.9.2-2
- use gdm as last condition for user switching
* Tue Jan 20 2015 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.9.2-1
- update to 1.9.2 release
* Thu Nov 20 2014 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.9.1-1
- update to 1.9.1 release
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.9.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sun Jul 20 2014 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.9.0.2
- fix 'has_separator'_deprecation
* Sat Jul 12 2014 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.9.0-1
- update to 1.9.0 release
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed Mar 05 2014 Dan Mashal <dan.mashal@fedoraproject.org> - 1.8.0-1
- Update to 1.8.0
* Wed Feb 19 2014 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.7.90-1
- update to 1.7.90
* Tue Feb 11 2014 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.7.1-1
- update to 1.7.1 release
* Sun Jan 26 2014 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.7.1-0.1.git20140125.d5b3508
- update to git snapshot from 2014.01.25
- fix rhbz (#1057402) and (#1056591)
- make Maintainers life easier and use better git snapshot usage
* Tue Jan 14 2014 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.7.0-1
- update to 1.7.0 release
- add --with-gnome --all-name for find language
- removed upstreamed systemd-login patch
- removed --with-console-kit configure flag
- use modern 'make install' macro
- add BR xmlto
- reworked configure flags, use --with-gtk=2.0, --disable-schemas-compile
- --enable-docbook-docs
- fixed versioned doc dir
- use one style for ownning directories
* Fri Dec 06 2013 Dan Mashal <dan.mashal@fedoraproject.org> 1.7.0-1.1.git0460034
- Update to 1.7.0
* Sat Oct 19 2013 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.6.1-4
- switch to gnome-keyring for > f19
* Sat Oct 12 2013 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.6.1-3
- improve systemd-login support
* Fri Aug 02 2013 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.6.1-2
- bump version to 1.6.1-2
* Fri Aug 02 2013 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.6.1-1
- Update to 1.6.1
- Drop patches
- move doc dir for > f19
* Wed Jul 17 2013 Wolfgang Ulbrich <chat-to-me@raveit.de> - 1.6.0-2
- add upstream patch to fix idle activation time
- remove unrecognized configure options --with-libgl
- clean up runtime requires
- add pam and systemd configure flags
- remove gsettings convert file
* Wed Apr 03 2013 Dan Mashal <dan.mashal@fedoraproject.org> - 1.6.0-1
- Update to latest 1.6.0 stable release.
* Tue Mar 26 2013 Dan Mashal <dan.mashal@fedoraproject.org> - 1.5.2-1
- Update to latest upstream release
- Redo configure flags
- Update configure flags
- Own dirs we are supposed to own
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Fri Dec 21 2012 Nelson Marques <nmo.marques@gmail.com> - 1.5.1-3
- Add missing dependencies for proper build and conditionals for
using systemd or CK dependending on version.
- Rework %%configure
* Wed Dec 05 2012 Nelson Marques <nmo.marques@gmail.com> - 1.5.1-2
* add mate-screensaver-1.5.1-only_allow_one_instance.patch: fix double
password prompt when returning from hibernate/suspend. Only allow one
instance per user.
* Fri Nov 23 2012 Leigh Scott <leigh123linux@googlemail.com> - 1.5.1-1
- update to 1.5.1 release
- drop upstream commits patch
* Mon Nov 12 2012 Leigh Scott <leigh123linux@googlemail.com> - 1.5.0-3
- clean up commits patch
* Mon Nov 12 2012 Leigh Scott <leigh123linux@googlemail.com> - 1.5.0-2
- add upstream commits patch
- add buildrequires systemd-devel
* Thu Nov 08 2012 Leigh Scott <leigh123linux@googlemail.com> - 1.5.0-1
- update to 1.5.0 release
* Tue Oct 23 2012 Leigh Scott <leigh123linux@googlemail.com> - 1.4.0-2
- add V=1 to make
- use autogen instead of autoreconf
* Fri Oct 19 2012 Leigh Scott <leigh123linux@googlemail.com> - 1.4.0-1
- Initial build

View File

@ -1,258 +0,0 @@
From 0978e25db8d8032347df820a25f2ea18159e258c Mon Sep 17 00:00:00 2001
From: rbuj <robert.buj@gmail.com>
Date: Sun, 15 Mar 2020 22:36:39 +0100
Subject: [PATCH] Custom background image for lock screen
---
configure.ac | 1 -
data/Makefile.am | 3 ++
data/mate-screensaver-preferences.ui | 61 +++++++++++++++++++++++-
data/org.mate.screensaver.gschema.xml.in | 7 ++-
src/gs-manager.c | 20 +++++++-
src/mate-screensaver-preferences.c | 15 ++++++
6 files changed, 102 insertions(+), 5 deletions(-)
diff --git a/configure.ac b/configure.ac
index e6b1b4f..6a30794 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1112,7 +1112,6 @@ data/Makefile
data/mate-screensavers.menu
data/mate-screensaver.pc
data/org.mate.ScreenSaver.service
-data/org.mate.screensaver.gschema.xml
data/images/Makefile
data/images/cosmos/Makefile
savers/Makefile
diff --git a/data/Makefile.am b/data/Makefile.am
index 942fd55..f842873 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -46,6 +46,9 @@ dbussessionservice_DATA = org.mate.ScreenSaver.service
gsettingsschema_in_files = org.mate.screensaver.gschema.xml.in
gsettings_SCHEMAS = $(gsettingsschema_in_files:.xml.in=.xml)
+org.mate.screensaver.gschema.xml: org.mate.screensaver.gschema.xml.in
+ $(AM_V_GEN) sed -e 's|@datadir[@]|$(datadir)|g' $< > $@
+
EXTRA_DIST = \
$(gsettingsschema_in_files) \
$(desktop_in_files) \
diff --git a/data/mate-screensaver-preferences.ui b/data/mate-screensaver-preferences.ui
index cd3855b..0311064 100644
--- a/data/mate-screensaver-preferences.ui
+++ b/data/mate-screensaver-preferences.ui
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.20.0 -->
+<!-- Generated with glade 3.22.2 -->
<interface>
<requires lib="gtk+" version="3.14"/>
<!-- interface-license-type gplv2 -->
@@ -24,6 +24,9 @@
<property name="skip_taskbar_hint">True</property>
<property name="skip_pager_hint">True</property>
<property name="decorated">False</property>
+ <child type="titlebar">
+ <placeholder/>
+ </child>
<child>
<object class="GtkBox" id="vbox10">
<property name="visible">True</property>
@@ -149,6 +152,7 @@
</object>
</child>
</object>
+ <object class="GtkFileFilter" id="picture_filefilter"/>
<object class="GtkImage" id="power_image">
<property name="can_focus">False</property>
<property name="stock">gtk-jump-to</property>
@@ -165,6 +169,9 @@
<property name="default_width">600</property>
<property name="default_height">400</property>
<property name="type_hint">dialog</property>
+ <child type="titlebar">
+ <placeholder/>
+ </child>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
<property name="visible">True</property>
@@ -458,6 +465,56 @@
<property name="position">2</property>
</packing>
</child>
+ <child>
+ <object class="GtkBox" id="activate_delay_hbox1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Background picture for lock screen:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="hbox5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkFileChooserButton" id="picture_filename">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="create_folders">False</property>
+ <property name="filter">picture_filefilter</property>
+ <property name="title" translatable="yes">Select Background Image</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
<child>
<object class="GtkLabel" id="root_warning_label">
<property name="can_focus">False</property>
@@ -469,7 +526,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">3</property>
+ <property name="position">4</property>
</packing>
</child>
</object>
diff --git a/data/org.mate.screensaver.gschema.xml.in b/data/org.mate.screensaver.gschema.xml.in
index 7671144..5e2cf06 100644
--- a/data/org.mate.screensaver.gschema.xml.in
+++ b/data/org.mate.screensaver.gschema.xml.in
@@ -1,4 +1,4 @@
-<schemalist gettext-domain="@GETTEXT_PACKAGE@">
+<schemalist gettext-domain="mate-screensaver">
<enum id="org.mate.screensaver.Mode">
<value nick="blank-only" value="0"/>
<value nick="random" value="1"/>
@@ -80,5 +80,10 @@
<summary>Allow the session status message to be displayed</summary>
<description>Allow the session status message to be displayed when the screen is locked.</description>
</key>
+ <key name="picture-filename" type="s">
+ <default>'@datadir@/backgrounds/mate/desktop/Stripes.png'</default>
+ <summary>Picture Filename</summary>
+ <description>File to use for the background image.</description>
+ </key>
</schema>
</schemalist>
diff --git a/src/gs-manager.c b/src/gs-manager.c
index cca90d8..139a305 100644
--- a/src/gs-manager.c
+++ b/src/gs-manager.c
@@ -1048,6 +1048,13 @@ gs_manager_init (GSManager *manager)
manager);
mate_bg_load_from_preferences (manager->priv->bg);
+ GSettings *settings = g_settings_new ("org.mate.screensaver");
+ char *filename= g_settings_get_string (settings, "picture-filename");
+ if (g_file_test (filename, G_FILE_TEST_EXISTS)) {
+ mate_bg_set_filename (manager->priv->bg, filename);
+ }
+ g_free (filename);
+ g_object_unref (settings);
}
static void
@@ -1260,11 +1267,22 @@ static void
apply_background_to_window (GSManager *manager,
GSWindow *window)
{
+ GSettings *settings;
+ char *filename;
cairo_surface_t *surface;
int width;
int height;
- mate_bg_load_from_preferences (manager->priv->bg);
+ mate_bg_load_from_preferences(manager->priv->bg);
+
+ settings = g_settings_new ("org.mate.screensaver");
+ filename = g_settings_get_string (settings, "picture-filename");
+
+ if (g_file_test (filename, G_FILE_TEST_EXISTS)) {
+ mate_bg_set_filename (manager->priv->bg, filename);
+ }
+ g_free (filename);
+ g_object_unref (settings);
if (manager->priv->bg == NULL)
{
diff --git a/src/mate-screensaver-preferences.c b/src/mate-screensaver-preferences.c
index 4ead5ed..8efb25a 100644
--- a/src/mate-screensaver-preferences.c
+++ b/src/mate-screensaver-preferences.c
@@ -1085,6 +1085,12 @@ enabled_checkbox_toggled (GtkToggleButton *button, gpointer user_data)
config_set_enabled (gtk_toggle_button_get_active (button));
}
+static void
+picture_filename_changed (GtkFileChooserButton *button, gpointer user_data)
+{
+ g_settings_set_string (screensaver_settings, "picture-filename", gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (button)));
+}
+
static void
ui_disable_lock (gboolean disable)
{
@@ -1533,6 +1539,7 @@ init_capplet (void)
GtkWidget *fullscreen_preview_previous;
GtkWidget *fullscreen_preview_next;
GtkWidget *fullscreen_preview_close;
+ GtkWidget *picture_filename;
gdouble activate_delay;
gboolean enabled;
gboolean is_writable;
@@ -1579,6 +1586,7 @@ init_capplet (void)
fullscreen_preview_close = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_close"));
fullscreen_preview_previous = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_previous_button"));
fullscreen_preview_next = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_next_button"));
+ picture_filename = GTK_WIDGET (gtk_builder_get_object (builder, "picture_filename"));
label = GTK_WIDGET (gtk_builder_get_object (builder, "activate_delay_label"));
gtk_label_set_mnemonic_widget (GTK_LABEL (label), activate_delay_hscale);
@@ -1629,6 +1637,13 @@ init_capplet (void)
g_signal_connect (lock_checkbox, "toggled",
G_CALLBACK (lock_checkbox_toggled), NULL);
+ char *path = g_settings_get_string (screensaver_settings, "picture-filename");
+ gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (gtk_builder_get_object (builder, "picture_filename")), path);
+ gtk_file_filter_add_pixbuf_formats (GTK_FILE_FILTER (gtk_builder_get_object (builder, "picture_filefilter")));
+ g_free (path);
+ g_signal_connect (picture_filename, "selection-changed",
+ G_CALLBACK (picture_filename_changed), NULL);
+
enabled = config_get_enabled (&is_writable);
ui_set_enabled (enabled);
if (! is_writable)
--
2.21.1