Hello community,
here is the log from the commit of package cinnamon-screensaver for openSUSE:Factory checked in at 2017-06-26 15:56:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cinnamon-screensaver (Old)
and /work/SRC/openSUSE:Factory/.cinnamon-screensaver.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cinnamon-screensaver"
Mon Jun 26 15:56:51 2017 rev:9 rq:506202 version:3.4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/cinnamon-screensaver/cinnamon-screensaver.changes 2017-05-27 13:14:50.921332639 +0200
+++ /work/SRC/openSUSE:Factory/.cinnamon-screensaver.new/cinnamon-screensaver.changes 2017-06-26 15:56:52.728609957 +0200
@@ -1,0 +2,33 @@
+Mon Jun 26 08:54:15 UTC 2017 - sor.alexei@meowr.ru
+
+- Add the missing python3-xapp dependency (boo#1045920).
+
+-------------------------------------------------------------------
+Wed Jun 21 16:11:48 UTC 2017 - sor.alexei@meowr.ru
+
+- Update to version 3.4.1:
+ * stage.py: Kill any screensaver plugins when destroying all of
+ the widgets - this will leave unfinished plugin processes.
+ * framedImage: Render images at their native size using the theme
+ value as the maximum size, rather than desired size.
+ This ensures the image displays at its best possible size for
+ quality, but still makes sure an oversize image doesn't break
+ anything.
+ * stage.py: Don't re-allocate the floating widgets unless
+ necessary to prevent obscuring of the unlock widget.
+ This prevents the small jump of the clock when waking the
+ computer, depending on settings.
+ * framedImage: Remove some dead lines, use the correct css
+ property, update commenting.
+ * Fix a typo in the GTK+ 3.20 CSS file.
+ * clock: Update to use new wall-clock api to set the correct
+ update interval depending on the provided date/time format.
+ * Don't lock the screen in live or guest sessions
+ * framedImage.py: Stop using CSS for image size - since we now
+ use the image's native size if it is reasonable to do so,
+ there's no need for a theme to be involved.
+ Just hardcode a sane maximum and keep images that size or less.
+ It is not valid CSS (even though that's what we're using
+ min-height for here).
+
+-------------------------------------------------------------------
Old:
----
cinnamon-screensaver-3.4.0.tar.gz
New:
----
cinnamon-screensaver-3.4.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cinnamon-screensaver.spec ++++++
--- /var/tmp/diff_new_pack.FbwFw1/_old 2017-06-26 15:56:53.272533245 +0200
+++ /var/tmp/diff_new_pack.FbwFw1/_new 2017-06-26 15:56:53.276532680 +0200
@@ -17,7 +17,7 @@
Name: cinnamon-screensaver
-Version: 3.4.0
+Version: 3.4.1
Release: 0
Summary: Cinnamon screensaver and locker
License: GPL-2.0+
@@ -51,6 +51,7 @@
Requires: python3-gobject
Requires: python3-gobject-cairo
Requires: python3-setproctitle
+Requires: python3-xapp
Recommends: cinnamon-translations
Recommends: xscreensaver-data
Suggests: xscreensaver-data-extra
++++++ cinnamon-screensaver-3.4.0.tar.gz -> cinnamon-screensaver-3.4.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-3.4.0/configure.ac new/cinnamon-screensaver-3.4.1/configure.ac
--- old/cinnamon-screensaver-3.4.0/configure.ac 2017-05-04 15:02:52.000000000 +0200
+++ new/cinnamon-screensaver-3.4.1/configure.ac 2017-06-20 15:40:52.000000000 +0200
@@ -2,7 +2,7 @@
AC_PREREQ(2.60)
AC_INIT([cinnamon-screensaver],
- [3.4.0],
+ [3.4.1],
[https://github.com/linuxmint/cinnamon-screensaver/issues])
PKG_PROG_PKG_CONFIG([0.26])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-3.4.0/debian/changelog new/cinnamon-screensaver-3.4.1/debian/changelog
--- old/cinnamon-screensaver-3.4.0/debian/changelog 2017-05-04 15:02:52.000000000 +0200
+++ new/cinnamon-screensaver-3.4.1/debian/changelog 2017-06-20 15:40:52.000000000 +0200
@@ -1,3 +1,24 @@
+cinnamon-screensaver (3.4.1) sonya; urgency=medium
+
+ [ Michael Webster ]
+ * stage.py: Kill any screensaver plugins when destroying all of the widgets - this will leave unfinished plugin processes.
+ * framedImage: render images at their native size using the theme value as the maximum size, rather than desired size. This ensures the image displays at its best possible size for quality, but still makes sure an oversize image doesn't break anything.
+ * stage.py: Don't re-allocate the floating widgets unless necessary to prevent obscuring of the unlock widget. This prevents the small jump of the clock when waking the computer, depending on settings.
+ * framedImage: Remove some dead lines, use the correct css property, update commenting.
+ * fix typo in 3.20 css file
+ * clock: Update to use new wall-clock api to set the correct update interval depending on the provided date/time format.
+
+ [ Clement Lefebvre ]
+ * Don't lock the screen in live or guest sessions
+
+ [ Michael Webster ]
+ * framedImage.py: Stop using CSS for image size - since we now use the image's native size if it is reasonable to do so, there's no need for a theme to be involved. Just hardcode a sane maximum and keep images that size or less. is not valid CSS (even though that's what we're using min-height for here)
+
+ [ leigh123linux ]
+ * remove old webkit2-3.0 support
+
+ -- Clement Lefebvre Tue, 20 Jun 2017 15:39:58 +0200
+
cinnamon-screensaver (3.4.0) sonya; urgency=medium
[ leigh123linux ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-3.4.0/debian/control new/cinnamon-screensaver-3.4.1/debian/control
--- old/cinnamon-screensaver-3.4.0/debian/control 2017-05-04 15:02:52.000000000 +0200
+++ new/cinnamon-screensaver-3.4.1/debian/control 2017-06-20 15:40:52.000000000 +0200
@@ -30,6 +30,7 @@
python3-gi,
python3-gi-cairo,
python3-setproctitle,
+ python3-xapp (>= 1.0.1),
gir1.2-cinnamondesktop-3.0,
gir1.2-gkbd-3.0,
gir1.2-glib-2.0,
@@ -67,7 +68,7 @@
Architecture: all
Pre-Depends: ${misc:Pre-Depends}
Depends: cinnamon-screensaver (>= 3.1.0),
- gir1.2-webkit2-4.0 | gir1.2-webkit2-3.0
+ gir1.2-webkit2-4.0
Description: Webkit plugin for cinnamon-screensaver
Package: libcscreensaver0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-3.4.0/screensavers/webkit@cinnamon.org/main new/cinnamon-screensaver-3.4.1/screensavers/webkit@cinnamon.org/main
--- old/cinnamon-screensaver-3.4.0/screensavers/webkit@cinnamon.org/main 2017-05-04 15:02:52.000000000 +0200
+++ new/cinnamon-screensaver-3.4.1/screensavers/webkit@cinnamon.org/main 2017-06-20 15:40:52.000000000 +0200
@@ -2,11 +2,8 @@
import gi
gi.require_version('Gtk', '3.0')
+gi.require_version('WebKit2', '4.0')
-try:
- gi.require_version('WebKit2', '4.0')
-except ValueError:
- gi.require_version('WebKit2', '3.0')
from gi.repository import Gtk, Gdk, GdkX11, WebKit2, Gio, GLib
import sys
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-3.4.0/src/cinnamon-screensaver-gtk3.14.css new/cinnamon-screensaver-3.4.1/src/cinnamon-screensaver-gtk3.14.css
--- old/cinnamon-screensaver-3.4.0/src/cinnamon-screensaver-gtk3.14.css 2017-05-04 15:02:52.000000000 +0200
+++ new/cinnamon-screensaver-3.4.1/src/cinnamon-screensaver-gtk3.14.css 2017-06-20 15:40:52.000000000 +0200
@@ -22,8 +22,6 @@
border: 2px solid;
border-color: #eeeeee;
box-shadow: 1px 1px alpha(black, 0.8);
- /* substitute for min-height - replace with min-height in Gtk 3.20+*/
- color: rgba(250, 0, 0, 0);
}
.csstage .toppanel {
@@ -77,12 +75,10 @@
border-radius: 4px;
border: 4px solid;
border-color: @theme_selected_bg_color;
- /* substitute for min-height - replace with min-height in Gtk 3.20+*/
- color: rgba(150, 0, 0, 0);
}
.csstage .albumart {
- color: rgba(300, 0, 0, 0);
+ color: rgba(320, 0, 0, 0);
}
.csstage .passwordentry {
@@ -211,4 +207,4 @@
.csstage GtkViewport {
background-color: transparent;
background-image: none;
-}
\ No newline at end of file
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-3.4.0/src/cinnamon-screensaver-gtk3.18.css new/cinnamon-screensaver-3.4.1/src/cinnamon-screensaver-gtk3.18.css
--- old/cinnamon-screensaver-3.4.0/src/cinnamon-screensaver-gtk3.18.css 2017-05-04 15:02:52.000000000 +0200
+++ new/cinnamon-screensaver-3.4.1/src/cinnamon-screensaver-gtk3.18.css 2017-06-20 15:40:52.000000000 +0200
@@ -22,8 +22,6 @@
border: 2px solid;
border-color: #eeeeee;
box-shadow: 1px 1px alpha(black, 0.8);
- /* substitute for min-height - replace with min-height in Gtk 3.20+*/
- color: rgba(250, 0, 0, 0);
}
.csstage .toppanel {
@@ -77,12 +75,9 @@
border-radius: 4px;
border: 4px solid;
border-color: @theme_selected_bg_color;
- /* substitute for min-height - replace with min-height in Gtk 3.20+*/
- color: rgba(150, 0, 0, 0);
}
.csstage .albumart {
- color: rgba(300, 0, 0, 0);
}
.csstage .passwordentry {
@@ -211,4 +206,4 @@
.csstage GtkViewport {
background-color: transparent;
background-image: none;
-}
\ No newline at end of file
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-3.4.0/src/cinnamon-screensaver-gtk3.20.css new/cinnamon-screensaver-3.4.1/src/cinnamon-screensaver-gtk3.20.css
--- old/cinnamon-screensaver-3.4.0/src/cinnamon-screensaver-gtk3.20.css 2017-05-04 15:02:52.000000000 +0200
+++ new/cinnamon-screensaver-3.4.1/src/cinnamon-screensaver-gtk3.20.css 2017-06-20 15:40:52.000000000 +0200
@@ -60,7 +60,6 @@
background-clip: border-box;
border-color: @theme_selected_bg_color;
box-shadow: 1px 1px alpha(black, 0.8);
- min-height: 150px;
}
.csstage .passwordentry {
@@ -192,4 +191,4 @@
.csstage GtkViewport {
background-color: transparent;
background-image: none;
-}
\ No newline at end of file
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-3.4.0/src/clock.py new/cinnamon-screensaver-3.4.1/src/clock.py
--- old/cinnamon-screensaver-3.4.0/src/clock.py 2017-05-04 15:02:52.000000000 +0200
+++ new/cinnamon-screensaver-3.4.1/src/clock.py 2017-06-20 15:40:52.000000000 +0200
@@ -1,6 +1,6 @@
#!/usr/bin/python3
-from gi.repository import CinnamonDesktop, GLib, Gtk, Gio
+from gi.repository import CinnamonDesktop, CDesktopEnums, GLib, Gtk, Gio
from util import utils, trackers, settings
from baseWindow import BaseWindow
@@ -33,6 +33,7 @@
self.add(self.label)
self.clock_tracker = CinnamonDesktop.WallClock()
+ self.set_clock_interval()
trackers.con_tracker_get().connect(self.clock_tracker,
"notify::clock",
@@ -45,8 +46,33 @@
"changed",
self.on_tz_changed)
+ trackers.con_tracker_get().connect(self,
+ "destroy",
+ self.on_destroy)
+
self.update_clock()
+ def set_clock_interval(self):
+ interval = CDesktopEnums.ClockInterval.SETTING
+
+ if settings.get_use_custom_format():
+ date_format = settings.get_custom_date_format()
+ time_format = settings.get_custom_time_format()
+
+ use_seconds = False
+
+ for token in ("%S", "%c", "%T", "%X"):
+ if token in date_format or token in time_format:
+ use_seconds = True
+ break
+
+ if use_seconds:
+ interval = CDesktopEnums.ClockInterval.SECOND
+ else:
+ interval = CDesktopEnums.ClockInterval.MINUTE
+
+ self.clock_tracker.set_update_interval(interval)
+
def on_clock_changed(self, clock, pspec):
self.update_clock()
@@ -100,5 +126,19 @@
self.away_message = msg
self.update_clock()
+ def on_destroy(self, data=None):
+ trackers.con_tracker_get().disconnect(self.clock_tracker,
+ "notify::clock",
+ self.on_clock_changed)
+
+ trackers.con_tracker_get().disconnect(self.tz_monitor,
+ "changed",
+ self.on_tz_changed)
+
+ trackers.con_tracker_get().disconnect(self,
+ "destroy",
+ self.on_destroy)
+ self.clock_tracker = None
+ self.tz_monitor = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-3.4.0/src/stage.py new/cinnamon-screensaver-3.4.1/src/stage.py
--- old/cinnamon-screensaver-3.4.0/src/stage.py 2017-05-04 15:02:52.000000000 +0200
+++ new/cinnamon-screensaver-3.4.1/src/stage.py 2017-06-20 15:40:52.000000000 +0200
@@ -707,6 +707,7 @@
Destroy all MonitorViews
"""
for monitor in self.monitors:
+ monitor.kill_plugin()
monitor.destroy()
del monitor
@@ -854,7 +855,13 @@
the left-center. The albumart widget aligns right-center.
"""
unlock_mw, unlock_nw = self.unlock_dialog.get_preferred_width()
- region_w = (monitor_rect.width - unlock_nw) / 2
+ """
+ If, for whatever reason, we need more than 1/3 of the screen to fully display
+ the unlock dialog, reduce our available region width to accomodate it, reducing
+ the allocation for the floating widgets as required.
+ """
+ if (unlock_nw > region_w):
+ region_w = (monitor_rect.width - unlock_nw) / 2
if isinstance(child, ClockWidget):
child.set_halign(Gtk.Align.START)
@@ -885,7 +892,7 @@
ca = ALIGNMENTS[random.randint(0, 2)]
child.set_valign(ca)
- # Restrict the widget size to 1/3 width and height of the current monitor
+ # Restrict the widget size to the allowable region sizes if necessary.
allocation.width = min(nat_rect.width, region_w)
allocation.height = min(nat_rect.height, region_h)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-3.4.0/src/unlock.py new/cinnamon-screensaver-3.4.1/src/unlock.py
--- old/cinnamon-screensaver-3.4.0/src/unlock.py 2017-05-04 15:02:52.000000000 +0200
+++ new/cinnamon-screensaver-3.4.1/src/unlock.py 2017-06-20 15:40:52.000000000 +0200
@@ -42,7 +42,6 @@
self.set_halign(Gtk.Align.CENTER)
self.set_valign(Gtk.Align.CENTER)
- self.set_size_request(350, -1)
self.real_name = None
self.user_name = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-3.4.0/src/util/utils.py new/cinnamon-screensaver-3.4.1/src/util/utils.py
--- old/cinnamon-screensaver-3.4.0/src/util/utils.py 2017-05-04 15:02:52.000000000 +0200
+++ new/cinnamon-screensaver-3.4.1/src/util/utils.py 2017-06-20 15:40:52.000000000 +0200
@@ -4,6 +4,7 @@
import os
import grp
import subprocess
+import xapp.os
import config
import status
@@ -68,6 +69,10 @@
except KeyError:
pass
+ # Don't lock the screensaver in guest or live sessions
+ if xapp.os.is_live_session() or xapp.os.is_guest_session():
+ return False
+
return True
def process_is_running(name):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinnamon-screensaver-3.4.0/src/widgets/framedImage.py new/cinnamon-screensaver-3.4.1/src/widgets/framedImage.py
--- old/cinnamon-screensaver-3.4.0/src/widgets/framedImage.py 2017-05-04 15:02:52.000000000 +0200
+++ new/cinnamon-screensaver-3.4.1/src/widgets/framedImage.py 2017-06-20 15:40:52.000000000 +0200
@@ -8,10 +8,12 @@
from util import utils, trackers
+MAX_IMAGE_SIZE = 320
+
class FramedImage(Gtk.Image):
"""
- Widget to hold the user face image. It can be sized using CSS color.red value
- (up to 255px) in Gtk 3.18, and using the min-height style property in gtk 3.20+.
+ Widget to hold the user face image. It attempts to display an image at
+ its native size, up to a max sane size.
"""
__gsignals__ = {
"pixbuf-changed": (GObject.SignalFlags.RUN_LAST, None, (object,))
@@ -24,24 +26,9 @@
self.file = None
self.path = None
- self.loader = None
-
- self.current_pixbuf = None
- self.next_pixbuf = None
-
- self.min_height = 50
trackers.con_tracker_get().connect(self, "realize", self.on_realized)
- def get_theme_height(self):
- ctx = self.get_style_context()
-
- if utils.have_gtk_version("3.20.0"):
- return ctx.get_property("min-height", Gtk.StateFlags.NORMAL)
- else:
- color = ctx.get_color(Gtk.StateFlags.NORMAL)
- return (color.red * 255) + (color.green * 255) + (color.blue * 255)
-
def on_realized(self, widget):
self.generate_image()
@@ -63,17 +50,34 @@
if self.get_realized():
self.generate_image()
- def generate_image(self):
- self.set_size_request(-1, self.get_theme_height())
+ def set_image_internal(self, path):
+ pixbuf = None
- if self.path:
- try:
- pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_scale(self.path, -1, self.get_theme_height(), True)
- self.set_from_pixbuf(pixbuf)
- except:
- self.clear_image()
- self.emit("pixbuf-changed", pixbuf)
+ try:
+ pixbuf = GdkPixbuf.Pixbuf.new_from_file(path)
+ except GLib.Error as e:
+ message = "Could not load pixbuf from '%s' for FramedImage: %s" % (path, e.message)
+ error = True
+ if pixbuf != None:
+ if pixbuf.get_height() > MAX_IMAGE_SIZE or pixbuf.get_width() > MAX_IMAGE_SIZE:
+ try:
+ pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(path, MAX_IMAGE_SIZE, MAX_IMAGE_SIZE)
+ except GLib.Error as e:
+ message = "Could not scale pixbuf from '%s' for FramedImage: %s" % (path, e.message)
+ error = True
+
+ if pixbuf:
+ self.set_from_pixbuf(pixbuf)
+ else:
+ print(message)
+ self.clear_image()
+
+ self.emit("pixbuf-changed", pixbuf)
+
+ def generate_image(self):
+ if self.path:
+ self.set_image_internal(self.path)
elif self.file:
if self.cancellable != None:
self.cancellable.cancel()
@@ -103,11 +107,6 @@
def on_file_written(self, file, result, data=None):
try:
if file.replace_contents_finish(result):
- try:
- pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_scale(file.get_path(), -1, self.get_theme_height(), True)
- self.set_from_pixbuf(pixbuf)
- except:
- self.clear_image()
- self.emit("pixbuf-changed", pixbuf)
+ self.set_image_internal(file.get_path())
except GLib.Error:
- pass
\ No newline at end of file
+ pass