* Thu Nov 09 2017 sor.alexei@meowr.ru
- Update to version 3.6.1:
* Disable fade-in effects on idle.
* Sat Oct 28 2017 sor.alexei@meowr.ru
- Update to version 3.6.0:
* CsScreen: Fix hotplug/screen change detection and response,
other issues.
* logindClient.py: Produce a more helpful message when logind is
running, but we're unable to figure out a valid session id.
* manager/stage: Allow a second activation trigger to override a
previous one.
* manager.py: Force secondary activations to be immediate
(prevents flash).
* clock: Update for new wall clock API.
* keybindings: Remove the ability to take screenshots, restore
the ability to use computer power button.
* Update translations.
* Mon Oct 16 2017 sor.alexei@meowr.ru
- Update to version 3.4.3:
* cs-notification-watcher.c: Ignore notifications that replace
existing ones, by checking if the "replaces_id" field of the
notification is non-zero.
* cs-screen-x11.c: Use Gdk to get the screen size, the previous
method doesn't appear to update in time to have the new size,
causing exposure to the desktop in some cases, such as resizing
host windows of virtual machines.
* cs-screen-x11.c: GdkScreen width and height arrive already
scaled for hidpi.
* logind/consolekit: Refresh screen and monitor info when coming
back from inactive (such as sleep.)
* stage.py: Call gdk_flush to allow the server to catch up before
getting updated screen/monitor infos.
* Sun Aug 20 2017 sor.alexei@meowr.ru
- Update to version 3.4.2:
* 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 a 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. is not valid
CSS (even though that's what we're using min-height for here).
* Remove old webkit2-3.0 support.
* Mon Jun 26 2017 sor.alexei@meowr.ru
- Add the missing python3-xapp dependency (boo#1045920).
* Wed Jun 21 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).
* Thu May 04 2017 sor.alexei@meowr.ru
- Update to version 3.4.0:
* l10n: Update POT file.
* Add --interactive-debug startup switch. This turns on
GtkInspector, restricts the screensaver stage to a single
monitor, and some other things to allow interaction with ui
elements using the inspector tools.
* mediaPlayerWatcher.py: Catch SyntaxError exception when
evaluating PlaybackStatus property.
* framedImage.py: Just silently fail if a downloaded image fails
to be loaded into a pixbuf.
* Some theme fixes for GTK+ 3.20+.
* stage.py: Clear clipboards only once, when waking.
raise_unlock_widget gets called repeatedly when there is input
(to refresh other things) - having it repeatedly clear the
clipboard was unnecessary, and prevented keyboard navigation
actions that included selection of characters - such as
ctrl-a, shift-home and -end.
* uPowerClient.py: Aggregate the proxy's signal emissions into a
single power-state-changed event for the power client.
This prevents confusion at the stage level when updating for
power events.
* notifications: Add some debugging help.
* notificationWidget.py: Ignore network notifications - these occur
often around suspend/resume time, and we don't want them
artificially padding the notification count.
* xscreensaver plugin: Use GSubprocess instead of g_spawn_async
for hacks.
* stage.py: Add some error-handling for widget creation, with
exit strategy, in case something goes wrong. We don't want to
leave the user with an inaccessible desktop.
* xscreensaver plugin: Provide a default .xscreensaver file if
one doesn't already exist.
* Add /usr/lib/misc/xscreensaver/ to the xscreensaver search
directories.
* stage.py: More error-handling fixes.
* authClient.py: Add some debugging info.
* Add a CsScreen object: GdkScreen is unreliable for figuring
out monitor sizes and resolutions, particularly in non-default
configurations.
* Enable notification watcher's debug code upon startup, rather
than during widget construction.
* Respect the "spanned" setting for wallpapers.
Note, this will currently also affect the plugins as well, but
we didn't see this as a serious drawback.
* cs-screen-x11.c: Account for monitor scale factor.
GTK+ expects the values to be scaled already.
* singletons.py: Add some debugging for login manager commands.
* Remove x11.py, move code to CsScreen class, remove python3-xlib
dependency.
* service.py: Wait to respond to the Lock command until the
screensaver has called back that it is now active.
* manager/stage: Lock immediately, without fade-in. This and the
previous change allow the screensaver to be activated
synchronously from cinnamon-session in response to
suspend/hibernate actions, and ensure it's fully active already
when resuming.
* cinnamon-screensaver-main.py: Don't import the
ScreensaverService until we're sure we'll need it. This
prevents singletons from getting initialised too early, and we
lose the correct state of status.Debug
* cs-notification-watcher.c: Transient hint should be a boolean
type, not int.
* service.py: Add the invocation to the queue prior to calling on
the manager to lock. The active signal could be sent back
before it gets added otherwise, causing us to leave the calling
command hanging.
* stage/fader: Realise the stage offscreen, then reposition it
before starting our fade in. This prevents the initial flash
sometimes seen when the idle fade kicks in.
* cs-screen-x11.c: Use PointerRoot instead of None for
XSetInputFocus. This does a better job of reacquiring keyboard
control, and allows the screensaver to activate when a
virtualbox guest window is focused.
* stage/fader: Add the reposition call to the fader cycle, this
ensures it gets reliably called in sync with redraws, otherwise
we can still get a flash on realising the window.
* cs-auth-pam.c: Only attempt to remove the io watch if
thread_done is FALSE. It is set to TRUE in the GIOFunc
cs_auth_loop_quit, which also returns FALSE, signalling to
remove the source. We can't zero out watch_id there, which was
causing a warning when cs_auth_pam_verify_user exited.
* volumeControl.py: Don't show if we can't get a valid
CvcMixerControl, and only connect signals if we do.
* mediaPlayerWatcher.py: Use the asynchronous versions of the
play/pause, previous and next methods. This prevents a dbus
synch deadlock from freezing the screensaver. Observed issue
using Google Play Desktop Music Player.
* passwordEntry.py: Initialise self.original_group, don't perform
draw callback without a live controller (this disparity can
occur after session interruptions - sleep, switch user, etc...,
but not consistently).
* passwordEntry.py: Reload the keyboard layout if the xkb
configuration changes.
* stage.py: Fix screen changed callback.
* cs-screen.h: Remove XID typedef, include gdkx.h instead, which
will include xlib.
* Fix python shebang.
* Fix csd-media-keys D-Bus name.
* Add libexec path.
* autogen.sh: Don't run aclocal.
- Rebase cinnamon-screensaver-xscreensaver-path.patch.
* Fri Dec 30 2016 sor.alexei@meowr.ru
- Update to version 3.2.13:
* AuthClient: Check for pam helper in a subdirectory and in
/usr/libexec/.
* cinnamon-screensaver-pam-helper.c: Debug mode - don't print
message strings, they may contain the password.
* manager.py: Fix pam helper cancellation in Debian Jessie.
There is an existing workaround for Debian Jessie that skips
the fade-out when unlocking, due to another issue.
This causes our despawn_stage callback to be called immediately,
which sets self.stage to None, before cancel_unlocking can be
run.
* keybindings.py: Don't allow the keyboard popup menu key to slip
through.
* stage: Clear the clipboard if we're locked (should be
inaccessible anyhow but…).
* Add some tooltips to a few ui elements.
* stage.py: Fix logic surrounding hiding/showing the floating
widgets when power states change, or when a plugin is unable to
run due to the power state.
* Fri Dec 23 2016 sor.alexei@meowr.ru
- Update to version 3.2.12 (changes since 3.2.9):
* cinnamon-screensaver-pam-helper: Add a sleep() to the stdin
wait loop, make sure the helper is killed whenever the
screensaver is deactivated.
* manager.py: Only try to cancel_unlocking if there is a stage.
* Move the pam-helper binary to libexecdir.
- Remove cinnamon-screensaver-fix-pamhelper-path.patch: fixed
upstream.
* Thu Dec 15 2016 sor.alexei@meowr.ru
- Update to version 3.2.9 (changes since 3.2.6):
* stage.py: Keep floating widgets centered within their GtkAlign
region instead of using the padding CSS property - this can
only ever work by taking monitor size into account.
* stage.py: The unlock dialogue can take up more than 1/3 the
width of the screen, so account for its width when positioning
floating widgets during Awake state.
* Add missing -lXext
* Volume control: Don't crash when PA returns no default sink.
* stage.py: Regrab the stage if grab is broken (notably by
fingerprint-helper's gui).
* Fix pam authentication to work with multi-factor, fingerprint, etc.
* floating.py: Increase positioning delay to 30 seconds.
* audioPanel.py: Don't show panel at all if no players are active.
* Couple fixes: Show floating widgets immediately upon sleep, add
a description for AuthClient, send a failure notice when we
fail.
* Update pam config for multi-distro compatibility.
* Add preference to disable floating widgets.
* clock.py: Make clock preference apply everywhere (like our
other prefs).
* cinnamon-screensaver-main.py: use setproctitle to set the
process name as "cinnamon-screensaver"
* Add a build option to enable/disable use of setresuid/setresgid
in the setuid.c file for some distributions. The default
behaviour remains to not use this.
* Override the background colour to transparent for various
'primary' widgets, this reduces (but does not eliminate) the
tendency to get a 'flash' when the screensaver spawns its window.
* mediaPlayerWatcher.py: Handle metadata more gracefully - some
players can return arrays of artist info, some a string -
handle either.
* authClient.py: Use a constructor for GBytes creation, ignore a
message sent prior to the auth client being initialised (user
hit enter as a means of bringing up the unlock dialogue).
- Rebase cinnamon-screensaver-xscreensaver-path.patch.
- Add cinnamon-screensaver-suse-pam.patch: Use SUSE-specific PAM
configuration.
- Add cinnamon-screensaver-fix-pamhelper-path.patch: Fix the path
pamhelper is installed in.
* Fri Nov 25 2016 sor.alexei@meowr.ru
- Update to version 3.2.6 (changes since 3.2.4):
* Remove the position bar and position labels in infobar.
* Remove an import on BlinkLabel.
* Thu Nov 24 2016 sor.alexei@meowr.ru
- Update to version 3.2.4:
* Replace cinnamon-screensaver bin script with
cinnamon-screensaver.c, to perform setuid checks and fixes
prior to python and gtk starting.
* utils.py: Remove liveuser check, it doesn't work as expected.
* Thu Nov 17 2016 sor.alexei@meowr.ru
- Update to version 3.2.3:
* Declare GdkX11.
* events: For GTK+ < 3.18, skip the fade out animation, and
immediately destroy the window. Move the deactivate command
into an idle callback, so we're not attempting to destroy the
window while in the middle of processing a motion event.
* passwordEntry.py: Emulate Gtk.Entry.grab_focus_without_selecting().
The real call was recently removed, as it doesn't exist in
Gtk 3.14, however the behaviour is still necessary - tabbing
between buttons and entry will cause the entire partial
password to be selected, causing overwrite. This restores the
original functionality without requiring Gtk 3.18+.
* Add a Gtk 3.14 fallback stylesheet (it's almost exactly the
same as Gtk 3.18 currently).
* Handle clock/albumart padding in the GtkOverlay position code -
it seems not to include this in its preferred-size calculations.
* Invert the scroll direction for the volume slider.
* panels: Remove separators. Tweak spacing for keyboard layout
icon in the Gtk 3.18 CSS file.
* utils.py: Clean up get_user_name() calls.
* Disable locking if pam files aren't found or if we're running
as root.
* utils.py: Add 'liveuser' group check to user_can_lock()
function.
* Sun Nov 13 2016 sor.alexei@meowr.ru
- Update to version 3.2.2 (changes since 3.2.0):
* Layout/l10n: Fix minor visual issues.
* unlock/accountsServiceClient: Don't cache the username and face
path, instead fetch them from AccountsService when used.
Also, allow for no face image by not using a fallback generic
image, and hiding the image widget if there is no face for it.
* Remove some Gtk 3.18+ api calls - with a small change to
GdkScreen updating, the stacking order is correct at stage
construction and never changes.
* ConsoleKit: Add lock/unlock signal.
* Tue Nov 08 2016 sor.alexei@meowr.ru
- Update to version 3.2.0:
* Migrate away from gnome-common deprecated vars and macros.
* Rewrite on Python.
* Use XAppKbdLayoutController to interact with libgnomekbd for
switching keyboard layouts and getting reliable flag icons.
- Rebase cinnamon-screensaver-xscreensaver-path.patch.
- Remove cinnamon-screensaver.pam: nothing needs it anymore.
* Wed Jun 01 2016 sor.alexei@meowr.ru
- Update to version 3.0.1:
* gs-lock-plug: Remove the hardcoded text colours.
* Fix unlock dialog display in hidpi.
* gs-window-x11.c: Fix a couple of compiler warnings.
* gs-lock-plug.c: Look at AccountsService for user pic if .face
is not found. Simplify some of the code ? pixbuf loaders have
built-in file checking.
* Mon Apr 25 2016 sor.alexei@meowr.ru
- Update to version 3.0.0:
* configure.ac: Drop obsolete macro.
* configure.ac: Use dots when printing dbus version.
* Support new libsystemd (which replaces libsystemd-login).
* Stop trying to make gnome-screensaver* a symlink to
cinnamon-screensaver*.
* Thu Dec 24 2015 sor.alexei@meowr.ru
- Add cinnamon-screensaver-xscreensaver-path.patch: fix
xscreensaver hacks path (boo#960165).
- Recommend xscreensaver-data instead of depending.
- Suggest xscreensaver-data-extra.
* Tue Oct 20 2015 sor.alexei@meowr.ru
- Update to 2.8.0:
* Replace deprecated gdk_cursor_unref() with g_object_unref().
* Cleanup an unused variable.
* gs-window-x11.c: Fix random crashing due to accessing invalid
pointers when cleaning up the GSWindow instance.
* gs-window-x11.c: Fix trying to control the screensaver socket
after the plug has been removed (race condition) ? by default
the socket is destroyed when this happens.
* gs-lock-plug.c: fix runtime warning.
- Correct licence to GPL-2.0+.
* Mon Aug 10 2015 i@marguerite.su
- update version 2.6.4
* fix segfault due to wrong object being destroyed