Hello community,
here is the log from the commit of package cinnamon-settings-daemon for
openSUSE:Factory checked in at 2020-09-17 14:47:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cinnamon-settings-daemon (Old)
and /work/SRC/openSUSE:Factory/.cinnamon-settings-daemon.new.4249 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cinnamon-settings-daemon"
Thu Sep 17 14:47:46 2020 rev:23 rq:834950 version:4.6.4
Changes:
--------
---
/work/SRC/openSUSE:Factory/cinnamon-settings-daemon/cinnamon-settings-daemon.changes
2020-03-17 13:10:59.985838331 +0100
+++
/work/SRC/openSUSE:Factory/.cinnamon-settings-daemon.new.4249/cinnamon-settings-daemon.changes
2020-09-17 14:50:54.647914432 +0200
@@ -1,0 +2,6 @@
+Sun Sep 13 19:39:07 UTC 2020 - andy great <[email protected]>
+
+- Update to version 4.6.4.
+ * csd-automount-manager.c: Add a small delay to folder opening.
+
+-------------------------------------------------------------------
Old:
----
cinnamon-settings-daemon-4.4.0.tar.gz
New:
----
cinnamon-settings-daemon-4.6.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cinnamon-settings-daemon.spec ++++++
--- /var/tmp/diff_new_pack.feCtTB/_old 2020-09-17 14:50:56.823916509 +0200
+++ /var/tmp/diff_new_pack.feCtTB/_new 2020-09-17 14:50:56.827916513 +0200
@@ -1,7 +1,7 @@
#
# spec file for package cinnamon-settings-daemon
#
-# Copyright (c) 2020 SUSE LLC.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: cinnamon-settings-daemon
-Version: 4.4.0
+Version: 4.6.4
Release: 0
Summary: The settings Daemon for the Cinnamon Desktop
License: GPL-2.0-or-later AND LGPL-2.1-only
@@ -109,7 +109,7 @@
%files
%license COPYING*
%doc AUTHORS README.rst debian/changelog
-%config
%{_sysconfdir}/dbus-1/system.d/org.cinnamon.SettingsDaemon.DateTimeMechanism.conf
+%config
%{_datadir}/dbus-1/system.d/org.cinnamon.SettingsDaemon.DateTimeMechanism.conf
%{_sysconfdir}/xdg/autostart/%{name}-*.desktop
%{_libdir}/%{name}-3.0/
%{_datadir}/%{name}-3.0/
++++++ cinnamon-settings-daemon-4.4.0.tar.gz ->
cinnamon-settings-daemon-4.6.4.tar.gz ++++++
++++ 1629 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/.circleci/config.yml
new/cinnamon-settings-daemon-4.6.4/.circleci/config.yml
--- old/cinnamon-settings-daemon-4.4.0/.circleci/config.yml 2019-11-16
16:38:35.000000000 +0100
+++ new/cinnamon-settings-daemon-4.6.4/.circleci/config.yml 2020-06-21
14:36:49.000000000 +0200
@@ -46,19 +46,19 @@
fi
jobs:
- "mint19":
+ "mint20":
<<: *shared
docker:
- - image: linuxmintd/mint19-amd64
+ - image: linuxmintd/mint20-amd64
- "lmde3":
+ "lmde4":
<<: *shared
docker:
- - image: linuxmintd/lmde3-amd64
+ - image: linuxmintd/lmde4-amd64
workflows:
version: 2
build:
jobs:
- - "mint19"
- - "lmde3"
+ - "mint20"
+ - "lmde4"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/cinnamon-settings-daemon/cinnamon-settings-session.c
new/cinnamon-settings-daemon-4.6.4/cinnamon-settings-daemon/cinnamon-settings-session.c
---
old/cinnamon-settings-daemon-4.4.0/cinnamon-settings-daemon/cinnamon-settings-session.c
2019-11-16 16:38:35.000000000 +0100
+++
new/cinnamon-settings-daemon-4.6.4/cinnamon-settings-daemon/cinnamon-settings-session.c
2020-06-21 14:36:49.000000000 +0200
@@ -378,7 +378,7 @@
session->priv = CINNAMON_SETTINGS_SESSION_GET_PRIVATE (session);
#ifdef HAVE_LOGIND
- if (access("/run/systemd/system/", F_OK) == 0) { // sd_booted ()
+ if (access("/run/systemd/seats/", F_OK) == 0) { // sd_booted ()
sd_pid_get_session (getpid(), &session->priv->session_id);
session->priv->sd_source = sd_source_new ();
g_source_set_callback (session->priv->sd_source, sessions_changed,
session, NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/configure.ac
new/cinnamon-settings-daemon-4.6.4/configure.ac
--- old/cinnamon-settings-daemon-4.4.0/configure.ac 2019-11-16
16:38:35.000000000 +0100
+++ new/cinnamon-settings-daemon-4.6.4/configure.ac 2020-06-21
14:36:49.000000000 +0200
@@ -1,7 +1,7 @@
AC_PREREQ([2.60])
AC_INIT([cinnamon-settings-daemon],
- [4.4.0],
+ [4.6.4],
[https://github.com/linuxmint/cinnamon-settings-daemon/issues])
AC_CONFIG_MACRO_DIR([m4])
@@ -136,16 +136,23 @@
AC_ARG_WITH(dbus-sys,
[AC_HELP_STRING([--with-dbus-sys=<dir>],
[where D-BUS system.d directory is])])
-AC_ARG_WITH(dbus-services,
- [AC_HELP_STRING([--with-dbus-services=<dir>],
- [where D-BUS services directory is])])
if ! test -z "$with_dbus_sys" ; then
DBUS_SYS_DIR="$with_dbus_sys"
else
- DBUS_SYS_DIR='${sysconfdir}/dbus-1/system.d'
+ DBUS_SYS_DIR='${datadir}/dbus-1/system.d'
fi
AC_SUBST(DBUS_SYS_DIR)
+AC_ARG_WITH(dbus-services,
+ [AC_HELP_STRING([--with-dbus-services=<dir>],
+ [where D-BUS services directory is])])
+if ! test -z "$with_dbus_services" ; then
+ DBUS_SERVICES_DIR="$with_dbus_services"
+else
+ DBUS_SERVICES_DIR='${datadir}/dbus-1/system-services'
+fi
+AC_SUBST(DBUS_SERVICES_DIR)
+
dnl ---------------------------------------------------------------------------
dnl - GUdev integration (default enabled)
dnl ---------------------------------------------------------------------------
@@ -200,7 +207,7 @@
dnl - xsettings
dnl ---------------------------------------------------------------------------
-PKG_CHECK_MODULES(XSETTINGS, fontconfig)
+PKG_CHECK_MODULES(XSETTINGS, fontconfig cinnamon-desktop >=
$CINNAMON_DESKTOP_REQUIRED_VERSION)
dnl ---------------------------------------------------------------------------
dnl - Keyboard plugin stuff
@@ -255,14 +262,34 @@
dnl - color
dnl ---------------------------------------------------------------------------
-PKG_CHECK_MODULES(COLOR, [colord >= 0.1.27 cinnamon-desktop >=
$CINNAMON_DESKTOP_REQUIRED_VERSION libcanberra-gtk3])
+AC_ARG_ENABLE(color,
+ AS_HELP_STRING([--disable-color], [disable Colord support
(default: enabled)]),,
+ enable_color=yes)
+build_color=false
+if test x"$enable_color" != x"no" ; then
+ PKG_CHECK_MODULES(COLOR, [colord >= 0.1.27 cinnamon-desktop >=
$CINNAMON_DESKTOP_REQUIRED_VERSION libcanberra-gtk3])
+ build_color=true
+fi
+
+AM_CONDITIONAL(BUILD_COLOR, [test "x$build_color" = "xtrue"])
dnl ---------------------------------------------------------------------------
dnl - wacom
dnl ---------------------------------------------------------------------------
+AC_ARG_ENABLE(wacom,
+ AS_HELP_STRING([--disable-wacom], [disable Wacom support
(default: auto)]),,
+ enable_wacom=auto)
build_wacom=false
-PKG_CHECK_MODULES(WACOM, [libwacom >= $LIBWACOM_REQUIRED_VERSION x11 xi xtst
gudev-1.0 cinnamon-desktop xorg-wacom librsvg-2.0 >= $LIBRSVG_REQUIRED_VERSION
gtk+-3.0 >= 3.8.0],
- [build_wacom="true" AC_DEFINE(HAVE_WACOM, 1, [Define if
wacom is being build])], [build_wacom="false"])
+if test x"$enable_wacom" != x"no" ; then
+ PKG_CHECK_MODULES(WACOM, [libwacom >= $LIBWACOM_REQUIRED_VERSION x11 xi xtst
gudev-1.0 cinnamon-desktop xorg-wacom librsvg-2.0 >= $LIBRSVG_REQUIRED_VERSION
gtk+-3.0 >= 3.8.0],
+ [build_wacom="true" AC_DEFINE(HAVE_WACOM, 1, [Define if
wacom is being build])], [build_wacom="false"])
+fi
+
+if test x$enable_wacom = xyes; then
+ if test x$build_wacom = xfalse; then
+ AC_MSG_ERROR(Wacom support requested but required dependencies not found)
+ fi
+fi
AM_CONDITIONAL(BUILD_WACOM, test "x$build_wacom" = "xtrue")
@@ -280,12 +307,12 @@
esac],
[WANT_SMARTCARD_SUPPORT=yes])
+have_smartcard_support=false
if test x$WANT_SMARTCARD_SUPPORT = xyes ; then
NSS_REQUIRED_VERSION=3.11.2
- PKG_CHECK_MODULES(NSS, nss >= $NSS_REQUIRED_VERSION,
- [have_smartcard_support=true
- AC_DEFINE(SMARTCARD_SUPPORT, 1, [Define if smartcard support
should be enabled])],
- [have_smartcard_support=false])
+ PKG_CHECK_MODULES(NSS, [nss >= $NSS_REQUIRED_VERSION])
+ have_smartcard_support=true
+ AC_DEFINE(SMARTCARD_SUPPORT, 1, [Define if smartcard support should be
enabled])
fi
AM_CONDITIONAL(SMARTCARD_SUPPORT, test "x$have_smartcard_support" = "xtrue")
@@ -311,24 +338,6 @@
AC_SUBST(NSS_DATABASE)
-dnl ---------------------------------------------------------------------------
-dnl - Check for D-Bus
-dnl ---------------------------------------------------------------------------
-
-dnl - Are we specifying a different dbus root ?
-AC_ARG_WITH(dbus-sys,
- [AC_HELP_STRING([--with-dbus-sys=<dir>],
- [where D-BUS system.d directory is])])
-AC_ARG_WITH(dbus-services,
- [AC_HELP_STRING([--with-dbus-services=<dir>],
- [where D-BUS services directory is])])
-if ! test -z "$with_dbus_sys" ; then
- DBUS_SYS_DIR="$with_dbus_sys"
-else
- DBUS_SYS_DIR='${sysconfdir}/dbus-1/system.d'
-fi
-AC_SUBST(DBUS_SYS_DIR)
-
# ---------------------------------------------------------------------------
# PolicyKit for the date & time mechanism
# ---------------------------------------------------------------------------
@@ -368,12 +377,26 @@
dnl Check for logind
dnl ====================================================================
-PKG_CHECK_MODULES(LOGIND, [libsystemd-login], [have_logind=yes], [
- PKG_CHECK_MODULES(LOGIND, [libsystemd], [have_logind=yes], [have_logind=no])
-])
+AC_ARG_ENABLE([logind],
+ AS_HELP_STRING([--disable-logind], [Do not check for logind]),
+ [enable_logind=$enableval],
+ [enable_logind=auto])
+
+have_logind=no
+if test x$enable_logind != xno ; then
+ PKG_CHECK_MODULES(LOGIND, [libsystemd-login], [have_logind=yes], [
+ PKG_CHECK_MODULES(LOGIND, [libsystemd], [have_logind=yes], [
+ PKG_CHECK_MODULES(LOGIND, [libelogind], [have_logind=yes],
[have_logind=no])
+ ])
+ ])
+fi
if test x$have_logind = xyes; then
AC_DEFINE(HAVE_LOGIND, 1, [Define if logind is supported])
+else
+ if test x$enable_logind = xyes; then
+ AC_MSG_ERROR([logind support requested but neither systemd or elogind
were not found])
+ fi
fi
AC_SUBST(LOGIND_CFLAGS)
@@ -534,6 +557,7 @@
LCMS DICT support: ${have_new_lcms}
Libnotify support: ${have_libnotify}
+ Colord support: ${build_color}
Wacom support: ${build_wacom}
Smartcard support: ${have_smartcard_support}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/data/Makefile.am
new/cinnamon-settings-daemon-4.6.4/data/Makefile.am
--- old/cinnamon-settings-daemon-4.4.0/data/Makefile.am 2019-11-16
16:38:35.000000000 +0100
+++ new/cinnamon-settings-daemon-4.6.4/data/Makefile.am 2020-06-21
14:36:49.000000000 +0200
@@ -26,8 +26,6 @@
@INTLTOOL_XML_NOMERGE_RULE@
-dbusservice_in_files = org.freedesktop.IBus.service.in
-
EXTRA_DIST = \
$(man_MANS) \
$(convert_DATA) \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/data/org.freedesktop.IBus.service.in
new/cinnamon-settings-daemon-4.6.4/data/org.freedesktop.IBus.service.in
--- old/cinnamon-settings-daemon-4.4.0/data/org.freedesktop.IBus.service.in
2019-11-16 16:38:35.000000000 +0100
+++ new/cinnamon-settings-daemon-4.6.4/data/org.freedesktop.IBus.service.in
1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-[D-BUS Service]
-Name=org.freedesktop.IBus
-Exec=@bindir@/ibus-daemon --replace --xim --panel disable
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/debian/changelog
new/cinnamon-settings-daemon-4.6.4/debian/changelog
--- old/cinnamon-settings-daemon-4.4.0/debian/changelog 2019-11-16
16:38:35.000000000 +0100
+++ new/cinnamon-settings-daemon-4.6.4/debian/changelog 2020-06-21
14:36:49.000000000 +0200
@@ -1,3 +1,61 @@
+cinnamon-settings-daemon (4.6.4) ulyana; urgency=medium
+
+ [ Michael Webster ]
+ * csd-automount-manager.c: Add a small delay to folder opening after (#290)
+
+ -- Clement Lefebvre <[email protected]> Sun, 21 Jun 2020 13:36:11 +0100
+
+cinnamon-settings-daemon (4.6.3) ulyana; urgency=medium
+
+ * l10n: Fix missing i18n in wacom and print-notifications plugins
+
+ -- Clement Lefebvre <[email protected]> Wed, 17 Jun 2020 15:37:00 +0100
+
+cinnamon-settings-daemon (4.6.2) ulyana; urgency=medium
+
+ [ Michael Webster ]
+ * debian/cinnamon-settings-daemon.links: Fix typo.
+
+ [ Clement Lefebvre ]
+ * CI: Target Mint 20 and LMDE 4
+
+ -- Clement Lefebvre <[email protected]> Wed, 10 Jun 2020 13:03:17 +0100
+
+cinnamon-settings-daemon (4.6.1) ulyana; urgency=medium
+
+ [ Garry Filakhtov ]
+ * Fix the build in highly-concurrent scenarios
+
+ -- Clement Lefebvre <[email protected]> Wed, 27 May 2020 12:39:02 +0100
+
+cinnamon-settings-daemon (4.6.0) ulyana; urgency=medium
+
+ [ Leigh Scott ]
+ * Restore old check for logind
+
+ [ Markus Teich ]
+ * Handle a custom screensaver command
+
+ [ Eli Schwartz ]
+ * Fix up the configure check for dbus directories.
+ * Remove old ibus files from the tree.
+
+ [ Michael Webster ]
+ * csd-xrandr-manager.c: Check if we were given laptop info before trying to
use it (fixes a warning usually at startup).
+
+ [ Clement Lefebvre ]
+ * Update project URL
+
+ [ Michael Webster ]
+ * csd-xrandr-manager.c: Update for new cinnamon-desktop api to use legacy
monitor.xml files.
+ * xrandr/xsettings: Make global scale factor a monitor-configuration value.
+ * csd-xrandr: Fix misleading message when no existing configurations are
found.
+
+ [ Garry Filakhtov ]
+ * Modify build system to make some dependencies optional and fix some
required dependencies (#285)
+
+ -- Clement Lefebvre <[email protected]> Tue, 12 May 2020 14:42:34 +0100
+
cinnamon-settings-daemon (4.4.0) tricia; urgency=medium
[ Michael Webster ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/debian/cinnamon-settings-daemon.install
new/cinnamon-settings-daemon-4.6.4/debian/cinnamon-settings-daemon.install
--- old/cinnamon-settings-daemon-4.4.0/debian/cinnamon-settings-daemon.install
2019-11-16 16:38:35.000000000 +0100
+++ new/cinnamon-settings-daemon-4.6.4/debian/cinnamon-settings-daemon.install
2020-06-21 14:36:49.000000000 +0200
@@ -1,5 +1,4 @@
debian/source_cinnamon-settings-daemon.py /usr/share/apport/package-hooks
-etc/dbus-1/system.d/org.cinnamon.SettingsDaemon.DateTimeMechanism.conf
etc/xdg/autostart/*
usr/lib/*/cinnamon-settings-daemon*/*.so
usr/lib/*/cinnamon-settings-daemon/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/debian/cinnamon-settings-daemon.links.in
new/cinnamon-settings-daemon-4.6.4/debian/cinnamon-settings-daemon.links.in
--- old/cinnamon-settings-daemon-4.4.0/debian/cinnamon-settings-daemon.links.in
2019-11-16 16:38:35.000000000 +0100
+++ new/cinnamon-settings-daemon-4.6.4/debian/cinnamon-settings-daemon.links.in
2020-06-21 14:36:49.000000000 +0200
@@ -1,4 +1,4 @@
-usr/lib/@DEB_HOST_MULTIARCH@/cinnamon-settings-daemon/csd-a11y-keyboard
usr/bin/csd-a11-keyboard
+usr/lib/@DEB_HOST_MULTIARCH@/cinnamon-settings-daemon/csd-a11y-keyboard
usr/bin/csd-a11y-keyboard
usr/lib/@DEB_HOST_MULTIARCH@/cinnamon-settings-daemon/csd-a11y-settings
usr/bin/csd-a11y-settings
usr/lib/@DEB_HOST_MULTIARCH@/cinnamon-settings-daemon/csd-automount
usr/bin/csd-automount
usr/lib/@DEB_HOST_MULTIARCH@/cinnamon-settings-daemon/csd-background
usr/bin/csd-background
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/debian/cinnamon-settings-daemon.maintscript
new/cinnamon-settings-daemon-4.6.4/debian/cinnamon-settings-daemon.maintscript
---
old/cinnamon-settings-daemon-4.4.0/debian/cinnamon-settings-daemon.maintscript
1970-01-01 01:00:00.000000000 +0100
+++
new/cinnamon-settings-daemon-4.6.4/debian/cinnamon-settings-daemon.maintscript
2020-06-21 14:36:49.000000000 +0200
@@ -0,0 +1 @@
+rm_conffile
/etc/dbus-1/system.d/org.cinnamon.SettingsDaemon.DateTimeMechanism.conf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/debian/control
new/cinnamon-settings-daemon-4.6.4/debian/control
--- old/cinnamon-settings-daemon-4.4.0/debian/control 2019-11-16
16:38:35.000000000 +0100
+++ new/cinnamon-settings-daemon-4.6.4/debian/control 2020-06-21
14:36:49.000000000 +0200
@@ -37,7 +37,6 @@
xserver-xorg-input-wacom [!s390x !hurd-any !kfreebsd-any],
xsltproc,
Standards-Version: 3.9.8
-Homepage: http://cinnamon.linuxmint.com
Package: cinnamon-settings-daemon
Architecture: any
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/plugins/Makefile.am
new/cinnamon-settings-daemon-4.6.4/plugins/Makefile.am
--- old/cinnamon-settings-daemon-4.4.0/plugins/Makefile.am 2019-11-16
16:38:35.000000000 +0100
+++ new/cinnamon-settings-daemon-4.6.4/plugins/Makefile.am 2020-06-21
14:36:49.000000000 +0200
@@ -6,7 +6,6 @@
automount \
background \
clipboard \
- color \
cursor \
dummy \
datetime \
@@ -24,6 +23,12 @@
disabled_plugins = $(NULL)
+if BUILD_COLOR
+enabled_plugins += color
+else
+disabled_plugins += color
+endif
+
if BUILD_WACOM
enabled_plugins += wacom
else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/plugins/automount/csd-automount-manager.c
new/cinnamon-settings-daemon-4.6.4/plugins/automount/csd-automount-manager.c
---
old/cinnamon-settings-daemon-4.4.0/plugins/automount/csd-automount-manager.c
2019-11-16 16:38:35.000000000 +0100
+++
new/cinnamon-settings-daemon-4.6.4/plugins/automount/csd-automount-manager.c
2020-06-21 14:36:49.000000000 +0200
@@ -38,6 +38,7 @@
struct CsdAutomountManagerPrivate
{
GSettings *settings;
+ GSettings *settings_screensaver;
GVolumeMonitor *volume_monitor;
unsigned int automount_idle_id;
@@ -243,9 +244,11 @@
}
}
-static void
-autorun_show_window (GMount *mount, gpointer user_data)
+static gboolean
+delayed_show_window (gpointer data)
{
+ GMount *mount = G_MOUNT (data);
+
GFile *location;
char *uri;
GError *error;
@@ -284,6 +287,14 @@
g_free (uri);
g_object_unref (location);
+
+ return G_SOURCE_REMOVE;
+}
+
+static void
+autorun_show_window (GMount *mount, gpointer user_data)
+{
+ g_timeout_add_seconds (1, (GSourceFunc) delayed_show_window, mount);
}
static void
@@ -482,7 +493,15 @@
setup_automounter (CsdAutomountManager *manager)
{
do_initialize_session (manager);
- do_initialize_screensaver (manager);
+
+ gchar *custom_saver = g_settings_get_string
(manager->priv->settings_screensaver,
+
"custom-screensaver-command");
+
+ /* if we fail to get the gsettings entry, or if the user did not select
+ * a custom screen saver, default to cinnamon-screensaver */
+ if (NULL == custom_saver || g_strcmp0 (custom_saver, "") == 0)
+ do_initialize_screensaver (manager);
+ g_free (custom_saver);
manager->priv->volume_monitor = g_volume_monitor_get ();
g_signal_connect_object (manager->priv->volume_monitor, "mount-added",
@@ -506,6 +525,7 @@
cinnamon_settings_profile_start (NULL);
manager->priv->settings = g_settings_new
("org.cinnamon.desktop.media-handling");
+ manager->priv->settings_screensaver = g_settings_new
("org.cinnamon.desktop.screensaver");
setup_automounter (manager);
cinnamon_settings_profile_end (NULL);
@@ -535,6 +555,11 @@
p->settings = NULL;
}
+ if (p->settings_screensaver != NULL) {
+ g_object_unref (p->settings_screensaver);
+ p->settings_screensaver = NULL;
+ }
+
if (p->ss_proxy != NULL) {
g_object_unref (p->ss_proxy);
p->ss_proxy = NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/plugins/common/csd-power-helper.c
new/cinnamon-settings-daemon-4.6.4/plugins/common/csd-power-helper.c
--- old/cinnamon-settings-daemon-4.4.0/plugins/common/csd-power-helper.c
2019-11-16 16:38:35.000000000 +0100
+++ new/cinnamon-settings-daemon-4.6.4/plugins/common/csd-power-helper.c
2020-06-21 14:36:49.000000000 +0200
@@ -41,7 +41,7 @@
static gsize once_init_value = 0;
if (g_once_init_enter (&once_init_value)) {
- should_use_logind = access("/run/systemd/system/", F_OK) == 0; //
sd_booted ()
+ should_use_logind = access("/run/systemd/seats/", F_OK) == 0; //
sd_booted ()
g_once_init_leave (&once_init_value, 1);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/plugins/datetime/Makefile.am
new/cinnamon-settings-daemon-4.6.4/plugins/datetime/Makefile.am
--- old/cinnamon-settings-daemon-4.4.0/plugins/datetime/Makefile.am
2019-11-16 16:38:35.000000000 +0100
+++ new/cinnamon-settings-daemon-4.6.4/plugins/datetime/Makefile.am
2020-06-21 14:36:49.000000000 +0200
@@ -1,7 +1,7 @@
plugin_name = datetime
-dbus_servicesdir = $(datadir)/dbus-1/system-services
-dbus_confdir = $(sysconfdir)/dbus-1/system.d
+dbus_servicesdir = @DBUS_SERVICES_DIR@
+dbus_confdir = @DBUS_SYS_DIR@
polkitdir = $(datadir)/polkit-1/actions
dbus_services_in_files =
org.cinnamon.SettingsDaemon.DateTimeMechanism.service.in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/plugins/datetime/org.cinnamon.settingsdaemon.datetimemechanism.policy.in
new/cinnamon-settings-daemon-4.6.4/plugins/datetime/org.cinnamon.settingsdaemon.datetimemechanism.policy.in
---
old/cinnamon-settings-daemon-4.4.0/plugins/datetime/org.cinnamon.settingsdaemon.datetimemechanism.policy.in
2019-11-16 16:38:35.000000000 +0100
+++
new/cinnamon-settings-daemon-4.6.4/plugins/datetime/org.cinnamon.settingsdaemon.datetimemechanism.policy.in
2020-06-21 14:36:49.000000000 +0200
@@ -5,7 +5,7 @@
<policyconfig>
<vendor>Cinnamon</vendor>
- <vendor_url>http://cinnamon.linuxmint.com/</vendor_url>
+ <vendor_url>https://projects.linuxmint.com/cinnamon/</vendor_url>
<icon_name>gnome-panel-clock</icon_name>
<action id="org.cinnamon.settingsdaemon.datetimemechanism.configure">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/plugins/power/Makefile.am
new/cinnamon-settings-daemon-4.6.4/plugins/power/Makefile.am
--- old/cinnamon-settings-daemon-4.4.0/plugins/power/Makefile.am
2019-11-16 16:38:35.000000000 +0100
+++ new/cinnamon-settings-daemon-4.6.4/plugins/power/Makefile.am
2020-06-21 14:36:49.000000000 +0200
@@ -41,6 +41,8 @@
$(NULL)
csd-power-keyboard-proxy.c : csd-power-keyboard-proxy.h
+csd-power-manager.c : csd-power-proxy.h csd-power-screen-proxy.h
csd-power-keyboard-proxy.h
+
libexec_PROGRAMS = csd-power
csd_power_SOURCES = \
gpm-common.c \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/plugins/power/csd-power-manager.c
new/cinnamon-settings-daemon-4.6.4/plugins/power/csd-power-manager.c
--- old/cinnamon-settings-daemon-4.4.0/plugins/power/csd-power-manager.c
2019-11-16 16:38:35.000000000 +0100
+++ new/cinnamon-settings-daemon-4.6.4/plugins/power/csd-power-manager.c
2020-06-21 14:36:49.000000000 +0200
@@ -22,9 +22,11 @@
#include "config.h"
+#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
+#include <unistd.h>
#include <sys/wait.h>
#include <glib/gi18n.h>
#include <gdk/gdkx.h>
@@ -63,6 +65,7 @@
#define CSD_POWER_SETTINGS_SCHEMA
"org.cinnamon.settings-daemon.plugins.power"
#define CSD_XRANDR_SETTINGS_SCHEMA
"org.cinnamon.settings-daemon.plugins.xrandr"
+#define CSD_SAVER_SETTINGS_SCHEMA
"org.cinnamon.desktop.screensaver"
#define CSD_SESSION_SETTINGS_SCHEMA "org.cinnamon.desktop.session"
#define CSD_CINNAMON_SESSION_SCHEMA "org.cinnamon.SessionManager"
@@ -94,6 +97,7 @@
enum {
CSD_POWER_IDLETIME_NULL_ID,
CSD_POWER_IDLETIME_DIM_ID,
+ CSD_POWER_IDLETIME_LOCK_ID,
CSD_POWER_IDLETIME_BLANK_ID,
CSD_POWER_IDLETIME_SLEEP_ID
};
@@ -176,6 +180,7 @@
GtkStatusIcon *status_icon;
guint xscreensaver_watchdog_timer_id;
gboolean is_virtual_machine;
+ gint fd_close_loop_end;
/* logind stuff */
GDBusProxy *logind_proxy;
@@ -203,6 +208,8 @@
static void do_lid_closed_action (CsdPowerManager *manager);
static void inhibit_lid_switch (CsdPowerManager *manager);
static void uninhibit_lid_switch (CsdPowerManager *manager);
+static void setup_locker_process (gpointer user_data);
+static void lock_screen_with_custom_saver (CsdPowerManager *manager,
gchar *custom_saver, gboolean idle_lock);
static void lock_screensaver (CsdPowerManager *manager);
static void kill_lid_close_safety_timer (CsdPowerManager *manager);
@@ -3358,6 +3365,7 @@
{
gboolean is_idle_inhibited;
guint current_idle_time;
+ guint timeout_lock;
guint timeout_blank;
guint timeout_sleep;
gboolean on_battery;
@@ -3370,6 +3378,8 @@
idle_set_mode (manager, CSD_POWER_IDLE_MODE_NORMAL);
gpm_idletime_alarm_remove (manager->priv->idletime,
+ CSD_POWER_IDLETIME_LOCK_ID);
+ gpm_idletime_alarm_remove (manager->priv->idletime,
CSD_POWER_IDLETIME_BLANK_ID);
gpm_idletime_alarm_remove (manager->priv->idletime,
CSD_POWER_IDLETIME_SLEEP_ID);
@@ -3390,6 +3400,25 @@
timeout_blank = g_settings_get_int (manager->priv->settings,
"sleep-display-ac");
}
+
+ /* set up custom screensaver lock after idle time trigger */
+ timeout_lock = g_settings_get_uint
(manager->priv->settings_desktop_session,
+ "idle-delay");
+ if (timeout_lock != 0) {
+ if (timeout_blank != 0 && timeout_lock > timeout_blank) {
+ g_debug ("reducing lock timeout to match blank
timeout");
+ timeout_lock = timeout_blank;
+ }
+ g_debug ("setting up lock callback for %is", timeout_lock);
+
+ gpm_idletime_alarm_set (manager->priv->idletime,
+ CSD_POWER_IDLETIME_LOCK_ID,
+ idle_adjust_timeout
(current_idle_time, timeout_lock) * 1000);
+ } else {
+ gpm_idletime_alarm_remove (manager->priv->idletime,
+ CSD_POWER_IDLETIME_LOCK_ID);
+ }
+
if (timeout_blank != 0) {
g_debug ("setting up blank callback for %is", timeout_blank);
@@ -3448,13 +3477,113 @@
}
static void
+setup_locker_process (gpointer user_data)
+{
+ /* This function should only contain signal safe code, as it is invoked
+ * between fork and exec. See signal-safety(7) for more information. */
+ CsdPowerManager *manager = user_data;
+
+ /* close all FDs except stdin, stdout, stderr and the inhibition fd */
+ for (gint fd = 3; fd < manager->priv->fd_close_loop_end; fd++)
+ if (fd != manager->priv->inhibit_suspend_fd)
+ close (fd);
+
+ /* make sure the inhibit fd does not get closed on exec, as it's
options
+ * are not specified in the logind inhibitor interface documentation.
*/
+ if (-1 != manager->priv->inhibit_suspend_fd)
+ fcntl (manager->priv->inhibit_suspend_fd,
+ F_SETFD,
+ ~FD_CLOEXEC & fcntl (manager->priv->inhibit_suspend_fd,
F_GETFD));
+}
+
+static void
+lock_screen_with_custom_saver (CsdPowerManager *manager,
+ gchar *custom_saver,
+ gboolean idle_lock)
+{
+ gboolean res;
+ gchar *fd = NULL;
+ gchar **argv = NULL;
+ gchar **env = NULL;
+ GError *error = NULL;
+
+ /* environment setup */
+ fd = g_strdup_printf ("%d", manager->priv->inhibit_suspend_fd);
+ if (!fd) {
+ g_warning ("failed to printf inhibit_suspend_fd");
+ goto quit;
+ }
+ if (!(env = g_get_environ ())) {
+ g_warning ("failed to get environment");
+ goto quit;
+ }
+ env = g_environ_setenv (env, "XSS_SLEEP_LOCK_FD", fd, FALSE);
+ if (!env) {
+ g_warning ("failed to set XSS_SLEEP_LOCK_FD");
+ goto quit;
+ }
+ env = g_environ_setenv (env,
+ "LOCKED_BY_SESSION_IDLE",
+ idle_lock ? "true" : "false",
+ TRUE);
+ if (!env) {
+ g_warning ("failed to set LOCKED_BY_SESSION_IDLE");
+ goto quit;
+ }
+
+ /* argv setup */
+ res = g_shell_parse_argv (custom_saver, NULL, &argv, &error);
+ if (!res) {
+ g_warning ("failed to parse custom saver cmd '%s': %s",
+ custom_saver,
+ error->message);
+ goto quit;
+ }
+
+ /* get the max number of open file descriptors */
+ manager->priv->fd_close_loop_end = sysconf (_SC_OPEN_MAX);
+ if (-1 == manager->priv->fd_close_loop_end)
+ /* use some sane default */
+ manager->priv->fd_close_loop_end = 32768;
+
+ /* spawn the custom screen locker */
+ res = g_spawn_async (NULL,
+ argv,
+ env,
+ G_SPAWN_LEAVE_DESCRIPTORS_OPEN |
G_SPAWN_SEARCH_PATH,
+ &setup_locker_process,
+ manager,
+ NULL,
+ &error);
+ if (!res)
+ g_warning ("failed to run custom screensaver '%s': %s",
+ custom_saver,
+ error->message);
+
+quit:
+ g_free (fd);
+ g_strfreev (argv);
+ g_strfreev (env);
+ g_clear_error (&error);
+}
+
+static void
lock_screensaver (CsdPowerManager *manager)
{
GError *error;
gboolean ret;
+ gchar *custom_saver = g_settings_get_string
(manager->priv->settings_screensaver,
+ "custom-screensaver-command");
g_debug ("Locking screen before sleep/hibernate");
+ if (custom_saver && g_strcmp0 (custom_saver, "") != 0) {
+ lock_screen_with_custom_saver (manager, custom_saver, FALSE);
+ goto quit;
+ }
+
+ /* if we fail to get the gsettings entry, or if the user did not select
+ * a custom screen saver, default to invoking cinnamon-screensaver */
/* do this sync to ensure it's on the screen when we start suspending */
error = NULL;
ret = g_spawn_command_line_sync ("cinnamon-screensaver-command --lock",
NULL, NULL, NULL, &error);
@@ -3463,6 +3592,9 @@
g_warning ("Couldn't lock screen: %s", error->message);
g_error_free (error);
}
+
+quit:
+ g_free (custom_saver);
}
static void
@@ -3615,6 +3747,22 @@
case CSD_POWER_IDLETIME_DIM_ID:
idle_set_mode (manager, CSD_POWER_IDLE_MODE_DIM);
break;
+ case CSD_POWER_IDLETIME_LOCK_ID:
+ /* cinnamon-screensaver has its own lock after some idle delay.
+ * If we have a custom screensaver configured, we have to use
+ * the idle delay from cinnamon-settings-daemon to trigger the
+ * screen lock after the idle timeout */
+ ; /* empty statement, because C does not allow a declaration to
+ * follow a label */
+ gchar *custom_saver = g_settings_get_string
(manager->priv->settings_screensaver,
+
"custom-screensaver-command");
+ if (custom_saver && g_strcmp0 (custom_saver, "") != 0)
+ lock_screen_with_custom_saver (manager,
+ custom_saver,
+ TRUE);
+ g_free (custom_saver);
+
+ break;
case CSD_POWER_IDLETIME_BLANK_ID:
idle_set_mode (manager, CSD_POWER_IDLE_MODE_BLANK);
break;
@@ -4076,7 +4224,7 @@
manager->priv->settings = g_settings_new (CSD_POWER_SETTINGS_SCHEMA);
g_signal_connect (manager->priv->settings, "changed",
G_CALLBACK (engine_settings_key_changed_cb),
manager);
- manager->priv->settings_screensaver = g_settings_new
("org.cinnamon.desktop.screensaver");
+ manager->priv->settings_screensaver = g_settings_new
(CSD_SAVER_SETTINGS_SCHEMA);
manager->priv->settings_xrandr = g_settings_new
(CSD_XRANDR_SETTINGS_SCHEMA);
manager->priv->settings_desktop_session = g_settings_new
(CSD_SESSION_SETTINGS_SCHEMA);
manager->priv->settings_cinnamon_session = g_settings_new
(CSD_CINNAMON_SESSION_SCHEMA);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/plugins/print-notifications/csd-print-notifications-manager.c
new/cinnamon-settings-daemon-4.6.4/plugins/print-notifications/csd-print-notifications-manager.c
---
old/cinnamon-settings-daemon-4.4.0/plugins/print-notifications/csd-print-notifications-manager.c
2019-11-16 16:38:35.000000000 +0100
+++
new/cinnamon-settings-daemon-4.6.4/plugins/print-notifications/csd-print-notifications-manager.c
2020-06-21 14:36:49.000000000 +0200
@@ -521,27 +521,27 @@
break;
case IPP_JOB_STOPPED:
/* Translators: A print job has been stopped */
- primary_text = g_strdup (C_("print job state",
"Printing stopped"));
+ primary_text = g_strdup (_("Printing
stopped"));
/* Translators: "print-job xy" on a printer */
- secondary_text = g_strdup_printf (C_("print
job", "'%s' on %s"), job_name, printer_name);
+ secondary_text = g_strdup_printf (_("'%s' on
%s"), job_name, printer_name);
break;
case IPP_JOB_CANCELED:
/* Translators: A print job has been canceled
*/
- primary_text = g_strdup (C_("print job state",
"Printing canceled"));
+ primary_text = g_strdup (_("Printing
canceled"));
/* Translators: "print-job xy" on a printer */
- secondary_text = g_strdup_printf (C_("print
job", "'%s' on %s"), job_name, printer_name);
+ secondary_text = g_strdup_printf (_("'%s' on
%s"), job_name, printer_name);
break;
case IPP_JOB_ABORTED:
/* Translators: A print job has been aborted */
- primary_text = g_strdup (C_("print job state",
"Printing aborted"));
+ primary_text = g_strdup (_("Printing
aborted"));
/* Translators: "print-job xy" on a printer */
- secondary_text = g_strdup_printf (C_("print
job", "'%s' on %s"), job_name, printer_name);
+ secondary_text = g_strdup_printf (_("'%s' on
%s"), job_name, printer_name);
break;
case IPP_JOB_COMPLETED:
/* Translators: A print job has been completed
*/
- primary_text = g_strdup (C_("print job state",
"Printing completed"));
+ primary_text = g_strdup (_("Printing
completed"));
/* Translators: "print-job xy" on a printer */
- secondary_text = g_strdup_printf (C_("print
job", "'%s' on %s"), job_name, printer_name);
+ secondary_text = g_strdup_printf (_("'%s' on
%s"), job_name, printer_name);
break;
}
} else if (g_strcmp0 (notify_subscribed_event, "job-state-changed") ==
0 && my_job) {
@@ -551,41 +551,41 @@
g_strdup (printer_name),
NULL);
/* Translators: A job is printing */
- primary_text = g_strdup (C_("print job state",
"Printing"));
+ primary_text = g_strdup (_("Printing"));
/* Translators: "print-job xy" on a printer */
- secondary_text = g_strdup_printf (C_("print
job", "'%s' on %s"), job_name, printer_name);
+ secondary_text = g_strdup_printf (_("'%s' on
%s"), job_name, printer_name);
break;
case IPP_JOB_STOPPED:
g_hash_table_remove
(manager->priv->printing_printers,
printer_name);
/* Translators: A print job has been stopped */
- primary_text = g_strdup (C_("print job state",
"Printing stopped"));
+ primary_text = g_strdup (_("Printing
stopped"));
/* Translators: "print-job xy" on a printer */
- secondary_text = g_strdup_printf (C_("print
job", "'%s' on %s"), job_name, printer_name);
+ secondary_text = g_strdup_printf (_("'%s' on
%s"), job_name, printer_name);
break;
case IPP_JOB_CANCELED:
g_hash_table_remove
(manager->priv->printing_printers,
printer_name);
/* Translators: A print job has been canceled
*/
- primary_text = g_strdup (C_("print job state",
"Printing canceled"));
+ primary_text = g_strdup (_("Printing
canceled"));
/* Translators: "print-job xy" on a printer */
- secondary_text = g_strdup_printf (C_("print
job", "'%s' on %s"), job_name, printer_name);
+ secondary_text = g_strdup_printf (_("'%s' on
%s"), job_name, printer_name);
break;
case IPP_JOB_ABORTED:
g_hash_table_remove
(manager->priv->printing_printers,
printer_name);
/* Translators: A print job has been aborted */
- primary_text = g_strdup (C_("print job state",
"Printing aborted"));
+ primary_text = g_strdup (_("Printing
aborted"));
/* Translators: "print-job xy" on a printer */
- secondary_text = g_strdup_printf (C_("print
job", "'%s' on %s"), job_name, printer_name);
+ secondary_text = g_strdup_printf (_("'%s' on
%s"), job_name, printer_name);
break;
case IPP_JOB_COMPLETED:
g_hash_table_remove
(manager->priv->printing_printers,
printer_name);
/* Translators: A print job has been completed
*/
- primary_text = g_strdup (C_("print job state",
"Printing completed"));
+ primary_text = g_strdup (_("Printing
completed"));
/* Translators: "print-job xy" on a printer */
- secondary_text = g_strdup_printf (C_("print
job", "'%s' on %s"), job_name, printer_name);
+ secondary_text = g_strdup_printf (_("'%s' on
%s"), job_name, printer_name);
break;
default:
break;
@@ -596,9 +596,9 @@
g_strdup (printer_name), NULL);
/* Translators: A job is printing */
- primary_text = g_strdup (C_("print job state",
"Printing"));
+ primary_text = g_strdup (_("Printing"));
/* Translators: "print-job xy" on a printer */
- secondary_text = g_strdup_printf (C_("print job",
"'%s' on %s"), job_name, printer_name);
+ secondary_text = g_strdup_printf (_("'%s' on %s"),
job_name, printer_name);
}
} else if (g_strcmp0 (notify_subscribed_event,
"printer-state-changed") == 0) {
cups_dest_t *dest = NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/plugins/wacom/csd-wacom-osd-window.c
new/cinnamon-settings-daemon-4.6.4/plugins/wacom/csd-wacom-osd-window.c
--- old/cinnamon-settings-daemon-4.4.0/plugins/wacom/csd-wacom-osd-window.c
2019-11-16 16:38:35.000000000 +0100
+++ new/cinnamon-settings-daemon-4.6.4/plugins/wacom/csd-wacom-osd-window.c
2020-06-21 14:36:49.000000000 +0200
@@ -949,12 +949,12 @@
gchar *str, *label;
if (accel == NULL || accel[0] == '\0')
- return g_strdup (C_("Action type", "None"));
+ return g_strdup (_("Do Nothing"));
gtk_accelerator_parse (accel, &keyval, &mask);
str = gtk_accelerator_get_label (keyval, mask);
- label = g_markup_printf_escaped (C_("Action type", "Send Keystroke
%s"), str);
+ label = g_markup_printf_escaped (_("Send Keystroke %s"), str);
g_free (str);
return label;
@@ -969,18 +969,18 @@
type = g_settings_get_enum (button->settings, ACTION_TYPE_KEY);
if (type == CSD_WACOM_ACTION_TYPE_NONE)
- return g_strdup (C_("Action type", "None"));
+ return g_strdup (_("Do Nothing"));
if (type == CSD_WACOM_ACTION_TYPE_HELP)
- return g_strdup (C_("Action type", "Show On-Screen Help"));
+ return g_strdup (_("Show On-Screen Help"));
if (type == CSD_WACOM_ACTION_TYPE_SWITCH_MONITOR)
- return g_strdup (C_("Action type", "Switch Monitor"));
+ return g_strdup (_("Switch Monitor"));
str = g_settings_get_string (button->settings, CUSTOM_ACTION_KEY);
if (str == NULL || *str == '\0') {
g_free (str);
- return g_strdup (C_("Action type", "None"));
+ return g_strdup (_("Do Nothing"));
}
name = get_escaped_accel_shortcut (str);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/plugins/xrandr/csd-xrandr-manager.c
new/cinnamon-settings-daemon-4.6.4/plugins/xrandr/csd-xrandr-manager.c
--- old/cinnamon-settings-daemon-4.4.0/plugins/xrandr/csd-xrandr-manager.c
2019-11-16 16:38:35.000000000 +0100
+++ new/cinnamon-settings-daemon-4.6.4/plugins/xrandr/csd-xrandr-manager.c
2020-06-21 14:36:49.000000000 +0200
@@ -478,8 +478,11 @@
// Get the screen rotation and apply it to touchscreens
output_info = get_laptop_output_info (priv->rw_screen, config);
- rotation = gnome_rr_output_info_get_rotation (output_info);
- rotate_touchscreens (manager, rotation);
+
+ if (output_info) {
+ rotation = gnome_rr_output_info_get_rotation (output_info);
+ rotate_touchscreens (manager, rotation);
+ }
g_object_unref (config);
@@ -978,6 +981,24 @@
return best_mode;
}
+static gint
+get_monitor_index_for_output (XID output_id)
+{
+ GdkDisplay *display = gdk_display_get_default ();
+ GdkScreen *screen = gdk_display_get_default_screen (display);
+ gint i;
+
+ i = 0;
+
+ for (i = 0; i < gdk_display_get_n_monitors (display); i++) {
+ if (gdk_x11_screen_get_monitor_output (screen, i) == output_id) {
+ return i;
+ }
+ }
+
+ return -1;
+}
+
static gboolean
turn_on (GnomeRRScreen *screen,
GnomeRROutputInfo *info,
@@ -1050,6 +1071,56 @@
return x;
}
+static void
+adjust_output_positions_for_scaling (GnomeRRScreen *screen,
+ GnomeRRConfig *config,
+ GPtrArray *sorted_outputs)
+{
+ gint target_global_scale, x;
+ guint i;
+
+ target_global_scale = 1;
+
+ /* Go thru all active outputs, figure out the highest scale monitor */
+ for (i = 0; i < sorted_outputs->len; i++) {
+ gint monitor_index, target_monitor_scale;
+ GnomeRROutputInfo *info = sorted_outputs->pdata[i];
+
+ if (!gnome_rr_output_info_is_active (info)) {
+ continue;
+ }
+
+ GnomeRROutput *output = gnome_rr_screen_get_output_by_name (screen,
gnome_rr_output_info_get_name (info));
+
+ monitor_index = get_monitor_index_for_output (gnome_rr_output_get_id
(output));
+ target_monitor_scale = gnome_rr_screen_calculate_best_global_scale
(screen, monitor_index);
+
+ gnome_rr_output_info_set_scale (info, (gfloat) target_monitor_scale);
+
+ /* We will always downscale??? We could respect the setting instead,
but this is only for auto-config */
+ target_global_scale = MAX (target_global_scale, target_monitor_scale);
+ }
+
+ gnome_rr_config_set_base_scale (config, target_global_scale);
+
+ /* Now adjust their x values according to scale (positions are (width *
global scale) */
+ x = 0;
+
+ for (i = 0; i < sorted_outputs->len; i++) {
+ GnomeRROutputInfo *info = sorted_outputs->pdata[i];
+ gint y, width, height;
+
+ if (!gnome_rr_output_info_is_active (info)) {
+ continue;
+ }
+
+ gnome_rr_output_info_get_geometry (info, NULL, &y, &width, &height);
+ gnome_rr_output_info_set_geometry (info, x, y, width, height);
+
+ x += width * target_global_scale;
+ }
+}
+
/* Used from g_ptr_array_sort(); compares outputs based on their X position */
static int
compare_output_positions (gconstpointer a, gconstpointer b)
@@ -1116,6 +1187,13 @@
if (config_is_all_off (config))
applicable = FALSE;
+ /* Calculate the pending global scale and adjust x positions of active
outputs -
+ * this isn't the best spot to do this, but it would be even more
tedious if we
+ * attempted to adjust the monitors during the previous passes (since
we have to
+ * go thru them all first to get the global scale. In reality there
are generally
+ * only a couple of monitors to worry about, so it's still quick. */
+ adjust_output_positions_for_scaling (rr_screen, config,
sorted_outputs);
+
g_ptr_array_free (sorted_outputs, FALSE);
return applicable;
@@ -1720,15 +1798,24 @@
use_stored_configuration_or_auto_configure_outputs (CsdXrandrManager *manager,
guint32 timestamp)
{
CsdXrandrManagerPrivate *priv = manager->priv;
- char *intended_filename;
+ char *intended_filename, *legacy_filename;
GError *error;
gboolean success;
intended_filename = gnome_rr_config_get_intended_filename ();
+ legacy_filename = gnome_rr_config_get_legacy_filename ();
error = NULL;
success = apply_configuration_from_filename (manager,
intended_filename, TRUE, timestamp, &error);
+
+ if (!success) {
+ g_clear_error (&error);
+ g_message ("Existing monitor config (%s) not found during hotplug
or laptop lid event."
+ " Looking for legacy configuration (monitors.xml)",
intended_filename);
+ success = apply_configuration_from_filename (manager,
legacy_filename, TRUE, timestamp, &error);
+ }
g_free (intended_filename);
+ g_free (legacy_filename);
if (!success) {
/* We don't bother checking the error type.
@@ -1904,6 +1991,7 @@
gboolean success;
char *backup_filename;
char *intended_filename;
+ gchar *legacy_filename;
GnomePnpIds *pnp_ids;
/* This avoids the GnomePnpIds object being created multiple times.
@@ -1911,6 +1999,7 @@
pnp_ids = gnome_pnp_ids_new ();
backup_filename = gnome_rr_config_get_backup_filename ();
intended_filename = gnome_rr_config_get_intended_filename ();
+ legacy_filename = gnome_rr_config_get_legacy_filename ();
/* 1. See if there was a "saved" configuration. If there is one, it
means
* that the user had selected to change the display configuration, but
the
@@ -1947,6 +2036,11 @@
success = apply_intended_configuration (manager, intended_filename,
timestamp);
+ if (!success) {
+ g_message ("Existing monitor config (%s) not found at startup.
Looking for legacy configuration (monitors.xml)", intended_filename);
+
+ success = apply_intended_configuration (manager, legacy_filename,
timestamp);
+ }
out:
g_object_unref (pnp_ids);
@@ -1955,6 +2049,11 @@
g_free (backup_filename);
g_free (intended_filename);
+ g_free (legacy_filename);
+
+ if (success) {
+ g_debug ("Successfully loaded existing monitor configuration\n",
success);
+ }
return success;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh
old/cinnamon-settings-daemon-4.4.0/plugins/xsettings/csd-xsettings-manager.c
new/cinnamon-settings-daemon-4.6.4/plugins/xsettings/csd-xsettings-manager.c
---
old/cinnamon-settings-daemon-4.4.0/plugins/xsettings/csd-xsettings-manager.c
2019-11-16 16:38:35.000000000 +0100
+++
new/cinnamon-settings-daemon-4.6.4/plugins/xsettings/csd-xsettings-manager.c
2020-06-21 14:36:49.000000000 +0200
@@ -45,6 +45,9 @@
#include "xsettings-manager.h"
#include "fontconfig-monitor.h"
+#define GNOME_DESKTOP_USE_UNSTABLE_API
+#include <libcinnamon-desktop/gnome-rr.h>
+
#define CINNAMON_XSETTINGS_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE
((o), CINNAMON_TYPE_XSETTINGS_MANAGER, CinnamonSettingsXSettingsManagerPrivate))
#define MOUSE_SETTINGS_SCHEMA
"org.cinnamon.settings-daemon.peripherals.mouse"
@@ -221,14 +224,6 @@
*/
#define DPI_FALLBACK 96
-/* The minimum resolution at which we turn on a window-scale of 2 */
-#define HIDPI_LIMIT (DPI_FALLBACK * 2)
-
-/* The minimum screen height at which we turn on a window-scale of 2;
- * below this there just isn't enough vertical real estate for GNOME
- * apps to work, and it's better to just be tiny */
-#define HIDPI_MIN_HEIGHT 1500
-
typedef struct _TranslationEntry TranslationEntry;
typedef void (* TranslationFunc) (CinnamonSettingsXSettingsManager *manager,
TranslationEntry *trans,
@@ -473,52 +468,25 @@
get_window_scale (CinnamonSettingsXSettingsManager *manager)
{
GSettings *interface_settings;
+ GError *error = NULL;
int window_scale;
- GdkRectangle rect;
- GdkDisplay *display;
- GdkScreen *screen;
- int width_mm, height_mm;
- int monitor_scale;
- double dpi_x, dpi_y;
interface_settings = g_hash_table_lookup (manager->priv->settings,
INTERFACE_SETTINGS_SCHEMA);
window_scale = g_settings_get_uint (interface_settings,
SCALING_FACTOR_KEY);
- if (window_scale == 0) {
- int primary;
- display = gdk_display_get_default ();
- screen = gdk_display_get_default_screen (display);
- primary = gdk_screen_get_primary_monitor (screen);
- gdk_screen_get_monitor_geometry (screen, primary, &rect);
- width_mm = gdk_screen_get_monitor_width_mm (screen, primary);
- height_mm = gdk_screen_get_monitor_height_mm (screen, primary);
- monitor_scale = gdk_screen_get_monitor_scale_factor (screen,
primary);
-
- window_scale = 1;
-
- if (rect.height < HIDPI_MIN_HEIGHT)
- goto out;
-
- /* Some monitors/TV encode the aspect ratio (16/9 or 16/10)
instead of the physical size */
- if ((width_mm == 160 && height_mm == 90) ||
- (width_mm == 160 && height_mm == 100) ||
- (width_mm == 16 && height_mm == 9) ||
- (width_mm == 16 && height_mm == 10))
- goto out;
-
- if (width_mm > 0 && height_mm > 0) {
- dpi_x = (double)rect.width * monitor_scale / (width_mm
/ 25.4);
- dpi_y = (double)rect.height * monitor_scale /
(height_mm / 25.4);
- /* We don't completely trust these values so both
- must be high, and never pick higher ratio than
- 2 automatically */
- if (dpi_x > HIDPI_LIMIT && dpi_y > HIDPI_LIMIT)
- window_scale = 2;
- }
- }
+ if (window_scale == 0) {
+ GnomeRRScreen *screen = gnome_rr_screen_new
(gdk_screen_get_default (), &error);
+
+ if (!error) {
+ window_scale = gnome_rr_screen_calculate_best_global_scale
(screen, -1);
+ g_object_unref (screen);
+ } else {
+ g_warning ("Could not get/create GnomeRRScreen instance: %s",
error->message);
+ g_error_free (error);
+ }
+ }
-out:
- return window_scale;
+ return window_scale;
}
typedef struct {