[Pkg-xfce-commits] [Git][xfce-extras-team/xfce4-screensaver][upstream/latest] New upstream version 4.16.0.

Unit 193 gitlab at salsa.debian.org
Wed Jan 6 07:32:05 GMT 2021



Unit 193   pushed to branch upstream/latest at Xfce external packages / xfce4-screensaver


Commits:
7af38fd2 by Unit 193 at 2021-01-06T02:23:42-05:00
New upstream version 4.16.0.
- - - - -


26 changed files:

- ChangeLog
- NEWS
- config.h.in
- configure
- configure.ac
- doc/xfce4-screensaver.xml
- po/cs.po
- po/ja.po
- po/pt.po
- po/tr.po
- savers/floaters.c
- savers/gste-popsquares.c
- savers/gste-slideshow.c
- src/gs-auth-pam.c
- src/gs-listener-dbus.c
- src/gs-listener-x11.c
- src/gs-lock-plug.c
- src/gs-manager.c
- src/gs-window-x11.c
- src/test-window.c
- src/xfce-bg.c
- src/xfce4-screensaver-command.c
- src/xfce4-screensaver-configure
- src/xfce4-screensaver-dialog.c
- src/xfce4-screensaver-preferences.c
- src/xfce4-screensaver.desktop.in


Changes:

=====================================
ChangeLog
=====================================
@@ -1,3 +1,327 @@
+commit d0d67808111b16ed61e925b7e02e37769465d23a
+Author: Sean Davis <smd.seandavis at gmail.com>
+Date:   Sun Jan 3 05:07:38 2021 -0800
+
+    Get default values
+
+ src/xfce4-screensaver-configure | 20 ++++++++++++++++----
+ 1 file changed, 16 insertions(+), 4 deletions(-)
+
+commit d93797e0c79e5ff94714273a7ed325ee7d716de4
+Author: Sean Davis <smd.seandavis at gmail.com>
+Date:   Sun Jan 3 04:45:46 2021 -0800
+
+    Use Libxfce4util namespace and typelib
+
+ src/xfce4-screensaver-configure | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit 9f4377cf9ef86ac21590c1c4cac9922c5942bd32
+Author: Olivier Duchateau <duchateau.olivier at gmail.com>
+Date:   Thu Aug 15 15:41:45 2019 +0200
+
+    Use GIRepository of libxfce4util and xfconf
+    
+    Signed-off-by: Sean Davis <smd.seandavis at gmail.com>
+
+ src/xfce4-screensaver-configure | 218 ++++++++++++++++++++++++++--------------
+ 1 file changed, 144 insertions(+), 74 deletions(-)
+
+commit c590704eb5c6934fa88c0fcda97a1032edef8513
+Author: Sean Davis <smd.seandavis at gmail.com>
+Date:   Sun Jan 3 04:37:57 2021 -0800
+
+    Revert "Fix float parsing error (bug #16295)"
+    
+    This reverts commit 378c7881fe8cced2a2202373d5674ca8067d73e2.
+
+ src/xfce4-screensaver-configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1f32723a8bbf4750774eaf07945e91ad1fb072ed
+Author: Sean Davis <smd.seandavis at gmail.com>
+Date:   Sun Jan 3 04:37:34 2021 -0800
+
+    Revert "Fix decimal properties when running through atof"
+    
+    This reverts commit 37b9637379f30f9d4ae7bc06482f551f6760721b.
+
+ src/xfce4-screensaver-configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 83295d76e277fcdc03b343602923fcb925c921c1
+Author: Olaf Hering <olaf at aepfle.de>
+Date:   Sat Dec 19 19:28:16 2020 +0100
+
+    Fix pam_strerror usage
+    
+    The function returns "const char *", adjust the check in configure.
+    
+    Signed-off-by: Olaf Hering <olaf at aepfle.de>
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ed90acb6547af7547772c81ce4b28bf6764685f8
+Author: Olaf Hering <olaf at aepfle.de>
+Date:   Mon Nov 16 22:03:33 2020 +0100
+
+    check dbus system_connection in add_sleep_inhibit
+    
+    Similar code to prevent a crash exits elsewhere.
+    
+    Signed-off-by: Olaf Hering <olaf at aepfle.de>
+
+ src/gs-listener-dbus.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit e3c70e1b8cbdcbafd4ca4c480176e6a110fb6fc7
+Author: Olaf Hering <olaf at aepfle.de>
+Date:   Mon Nov 16 22:01:46 2020 +0100
+
+    Revert "Catch gs_listener_dbus_init failures"
+    
+    This reverts commit f596f888a2b6e6598b9d0e4f0200b60e7f9eef64.
+    
+    Fixes #66
+
+ src/gs-listener-dbus.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d1da234041076d8842cff3320e4aaf2dd1b92ce4
+Author: Olaf Hering <olaf at aepfle.de>
+Date:   Mon Nov 9 09:41:31 2020 +0100
+
+    remove obsolete check for scrnsaver.h from configure.ac
+    
+    Earlier in configure.ac xscrnsaver is expected.
+    Remove old and unused code which checks for scrnsaver.h
+    
+    Signed-off-by: Olaf Hering <olaf at aepfle.de>
+
+ configure.ac | 49 -------------------------------------------------
+ 1 file changed, 49 deletions(-)
+
+commit 3bfc20ee7a7567f78f05014de8143d1c687c71e7
+Author: Olaf Hering <olaf at aepfle.de>
+Date:   Mon Nov 9 09:40:45 2020 +0100
+
+    pass constants to XSetScreenSaver
+    
+    Signed-off-by: Olaf Hering <olaf at aepfle.de>
+
+ src/gs-listener-x11.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e2ba3037b8603f757dfd84457ff62416341c5266
+Author: Olaf Hering <olaf at aepfle.de>
+Date:   Mon Nov 9 09:14:14 2020 +0100
+
+    change type of seconds to guint in add_lock_timer
+    
+    g_timeout_add_seconds expects a guint as first argument.
+    
+    Signed-off-by: Olaf Hering <olaf at aepfle.de>
+
+ src/gs-manager.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit e923bace68e05f076cd1f26f7015a46b6435aeec
+Author: Olaf Hering <olaf at aepfle.de>
+Date:   Mon Nov 9 09:00:01 2020 +0100
+
+    pass a GSourceFunc to users of g_idle_add
+    
+    g_idle_add expects a GSourceFunc as first argument.
+    Remove the casts and add proper prototype to affected functions.
+    
+    Signed-off-by: Olaf Hering <olaf at aepfle.de>
+
+ src/gs-auth-pam.c                   |  5 +++--
+ src/gs-manager.c                    |  5 +++--
+ src/gs-window-x11.c                 | 14 +++++++++-----
+ src/xfce4-screensaver-command.c     |  5 +++--
+ src/xfce4-screensaver-dialog.c      | 17 +++++++++--------
+ src/xfce4-screensaver-preferences.c |  4 ++--
+ 6 files changed, 29 insertions(+), 21 deletions(-)
+
+commit 9acd84fbeac7846a2f122a8402e1929c56137a3b
+Author: Olaf Hering <olaf at aepfle.de>
+Date:   Mon Nov 9 08:59:59 2020 +0100
+
+    pass a GSourceFunc to users of g_timeout_add_full
+    
+    g_timeout_add_full expects a GSourceFunc as third argument.
+    Remove the casts and add proper prototype to affected functions.
+    
+    Signed-off-by: Olaf Hering <olaf at aepfle.de>
+
+ savers/gste-slideshow.c |  6 +++---
+ src/xfce-bg.c           | 19 +++++++------------
+ 2 files changed, 10 insertions(+), 15 deletions(-)
+
+commit eee8c12cb3416b47a775f9558a43b37dbb228314
+Author: Olaf Hering <olaf at aepfle.de>
+Date:   Mon Nov 9 08:59:57 2020 +0100
+
+    pass a GSourceFunc to users of g_idle_add_full
+    
+    g_idle_add_full expects a GSourceFunc as second argument.
+    Remove the casts and add proper prototype to affected functions.
+    
+    Signed-off-by: Olaf Hering <olaf at aepfle.de>
+
+ savers/gste-slideshow.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 6a816fdb18b6e87e4925a0d082d46cc2c0fb11e3
+Author: Olaf Hering <olaf at aepfle.de>
+Date:   Mon Nov 9 08:59:55 2020 +0100
+
+    pass a GSourceFunc to users of g_timeout_add
+    
+    g_timeout_add expects a GSourceFunc as second argument.
+    Remove the casts and add proper prototype to affected functions.
+    
+    Signed-off-by: Olaf Hering <olaf at aepfle.de>
+
+ savers/floaters.c        | 24 ++++++++++++------------
+ savers/gste-popsquares.c |  5 +++--
+ savers/gste-slideshow.c  |  6 ++++--
+ 3 files changed, 19 insertions(+), 16 deletions(-)
+
+commit 2375d56fe78e0215f3001a061e675bce4dad444d
+Author: Olaf Hering <olaf at aepfle.de>
+Date:   Mon Nov 9 08:59:53 2020 +0100
+
+    pass a GSourceFunc to users of g_timeout_add_seconds
+    
+    g_timeout_add_seconds expects a GSourceFunc as second argument.
+    Remove the casts and add proper prototype to affected functions.
+    
+    Remove unneeded prototype for activate_dpms_timeout and deepsleep_idle.
+    Remove suffix from response_cancel_idle.
+    
+    Signed-off-by: Olaf Hering <olaf at aepfle.de>
+
+ src/gs-listener-dbus.c         |  7 ++++---
+ src/gs-listener-x11.c          |  7 +++----
+ src/gs-lock-plug.c             | 26 ++++++++++++--------------
+ src/gs-manager.c               | 42 +++++++++++++++++++-----------------------
+ src/gs-window-x11.c            | 15 +++++++--------
+ src/test-window.c              |  7 ++++++-
+ src/xfce4-screensaver-dialog.c |  9 +++++----
+ 7 files changed, 56 insertions(+), 57 deletions(-)
+
+commit 29d63e09b686ab2c00a1c6e1733dc276efb33d59
+Author: Olaf Hering <olaf at aepfle.de>
+Date:   Mon Nov 9 08:59:52 2020 +0100
+
+    convert date_time_update to a timer function
+    
+    date_time_update is called repeately by a timer.
+    To keep the timer active it has to return TRUE.
+    
+    Handle OOM while being here.
+    
+    Signed-off-by: Olaf Hering <olaf at aepfle.de>
+
+ src/gs-lock-plug.c | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+commit 4b7a123444b629b56716eb39d72c6aeee85c3494
+Author: Olaf Hering <olaf at aepfle.de>
+Date:   Mon Nov 9 08:59:50 2020 +0100
+
+    fix format specifiers in lock_timer
+    
+    idle_time and lock_time are unsigned values.
+    
+    Signed-off-by: Olaf Hering <olaf at aepfle.de>
+
+ src/gs-listener-x11.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit bd3fcc9be451636e49d4ea9d2c888523b960af79
+Author: Olaf Hering <olaf at aepfle.de>
+Date:   Mon Nov 9 08:59:47 2020 +0100
+
+    plug memleak in get_x11_idle_info
+    
+    Each call to get_x11_idle_info was allocating a new XScreenSaverInfo..
+    
+    Adjust the function to check the result, print the raw value in debug mode,
+    and let the caller know about potential failures.
+    
+    Keep the timer active in case of OOM.
+    
+    Signed-off-by: Olaf Hering <olaf at aepfle.de>
+
+ src/gs-listener-x11.c | 19 +++++++++++++++----
+ 1 file changed, 15 insertions(+), 4 deletions(-)
+
+commit 815bf79869790a3ad109e57f5415a47caa0e6024
+Author: Hugo Carvalho <hugokarvalho at hotmail.com>
+Date:   Mon Dec 28 00:48:01 2020 +0100
+
+    I18n: Update translation pt (100%).
+    
+    151 translated messages.
+    
+    Transifex (https://www.transifex.com/xfce/public/).
+
+ po/pt.po | 38 +++++++++++++++++---------------------
+ 1 file changed, 17 insertions(+), 21 deletions(-)
+
+commit 0e7b511c4fd35486fdfbeaeb8646d759a1d9b8cf
+Author: Michal Várady <miko.vaji at gmail.com>
+Date:   Sun Dec 27 00:47:49 2020 +0100
+
+    I18n: Update translation cs (100%).
+    
+    151 translated messages.
+    
+    Transifex (https://www.transifex.com/xfce/public/).
+
+ po/cs.po | 42 +++++++++++++++++++-----------------------
+ 1 file changed, 19 insertions(+), 23 deletions(-)
+
+commit f5df96113c32ab361f71cb20c547af1fa09e9938
+Author: Nobuhiro Iwamatsu <iwamatsu at nigauri.org>
+Date:   Tue Nov 24 12:47:27 2020 +0100
+
+    I18n: Update translation ja (100%).
+    
+    151 translated messages.
+    
+    Transifex (https://www.transifex.com/xfce/public/).
+
+ po/ja.po | 48 ++++++++++++++++++++++--------------------------
+ 1 file changed, 22 insertions(+), 26 deletions(-)
+
+commit 4946f5e6947c8195f16aa5efdae63376332d3050
+Author: Emin Tufan Çetin <etcetin at gmail.com>
+Date:   Fri Nov 20 12:49:02 2020 +0100
+
+    I18n: Update translation tr (100%).
+    
+    151 translated messages.
+    
+    Transifex (https://www.transifex.com/xfce/public/).
+
+ po/tr.po | 62 +++++++++++++++++++++++++++++---------------------------------
+ 1 file changed, 29 insertions(+), 33 deletions(-)
+
+commit 856043e6c567b826032af98739ec93a9242480d8
+Author: Sean Davis <smd.seandavis at gmail.com>
+Date:   Sun Nov 8 08:38:05 2020 -0500
+
+    Updates for release
+
+ NEWS         | 20 ++++++++++++++++++++
+ configure.ac |  2 +-
+ 2 files changed, 21 insertions(+), 1 deletion(-)
+
 commit fd2a81f2b15bfdb919d0632aeaf1eb1ca4b6dce1
 Author: Sean Davis <smd.seandavis at gmail.com>
 Date:   Sun Nov 8 08:35:11 2020 -0500


=====================================
NEWS
=====================================
@@ -1,3 +1,19 @@
+4.16.0
+======
+- xfce4-screensaver-configure: Use GIRepository of libxfce4util and xfconf (#11)
+- Change type of seconds to guint in add_lock_timer
+- Check dbus system_connection in add_sleep_inhibit
+- Cleanup GSourceFunc usage
+- Convert date_time_update to a timer function
+- Fix format specifiers in lock_timer
+- Fix issues connected to dbus (#66)
+- Fix pam_strerror usage
+- Pass constants to XSetScreenSaver
+- Plug memleak in get_x11_idle_info
+- Remove obsolete check for scrnsaver.h from configure.ac
+- Translation Updates:
+  Czech, Japanese, Portuguese, Turkish
+
 0.1.11
 ======
 - Builds: Move from exo-csource to xdt-csource (Bugzilla #16717)
@@ -213,4 +229,4 @@
 
 0.1.0 (alpha)
 =============
-- Initial Xfce release.
\ No newline at end of file
+- Initial Xfce release.


=====================================
config.h.in
=====================================
@@ -71,9 +71,6 @@
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
-/* Define if the MIT screensaver extension is available */
-#undef HAVE_MIT_SAVER_EXTENSION
-
 /* Define to 1 if you have the `nice' function. */
 #undef HAVE_NICE
 


=====================================
configure
=====================================
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xfce4-screensaver 0.1.11.
+# Generated by GNU Autoconf 2.69 for xfce4-screensaver 4.16.0.
 #
 # Report bugs to <https://www.xfce.org/>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='xfce4-screensaver'
 PACKAGE_TARNAME='xfce4-screensaver'
-PACKAGE_VERSION='0.1.11'
-PACKAGE_STRING='xfce4-screensaver 0.1.11'
+PACKAGE_VERSION='4.16.0'
+PACKAGE_STRING='xfce4-screensaver 4.16.0'
 PACKAGE_BUGREPORT='https://www.xfce.org/'
 PACKAGE_URL=''
 
@@ -885,7 +885,6 @@ with_pam_prefix
 with_pam_auth_type
 with_doc_dir
 enable_docbook_docs
-with_mit_ext
 with_xf86gamma_ext
 enable_locking
 with_xscreensaverdir
@@ -1481,7 +1480,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures xfce4-screensaver 0.1.11 to adapt to many kinds of systems.
+\`configure' configures xfce4-screensaver 4.16.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1557,7 +1556,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of xfce4-screensaver 0.1.11:";;
+     short | recursive ) echo "Configuration of xfce4-screensaver 4.16.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1609,7 +1608,6 @@ Optional Packages:
   --with-pam-prefix=<prefix>   specify where pam files go
   --with-pam-auth-type=<auth-type>   specify pam auth type (common or system)
   --with-doc-dir=<dir>    directory to install documentation
-  --with-mit-ext          Include support for the MIT-SCREEN-SAVER extension.
   --with-xf86gamma-ext    Include support for XFree86 gamma fading.
   --with-xscreensaverdir=dir
                           Use xscreensaver hack configs found in directory
@@ -1742,7 +1740,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-xfce4-screensaver configure 0.1.11
+xfce4-screensaver configure 4.16.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2111,7 +2109,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by xfce4-screensaver $as_me 0.1.11, which was
+It was created by xfce4-screensaver $as_me 4.16.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2978,7 +2976,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='xfce4-screensaver'
- VERSION='0.1.11'
+ VERSION='4.16.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -15859,296 +15857,6 @@ $as_echo "#define HAVE_SHAPE_EXT 1" >>confdefs.h
 fi
 
 
-have_mit=no
-with_mit_req=unspecified
-
-# Check whether --with-mit-ext was given.
-if test "${with_mit_ext+set}" = set; then :
-  withval=$with_mit_ext; with_mit="$withval"; with_mit_req="$withval"
-else
-  with_mit=yes
-fi
-
-
-
-   case "$with_mit" in
-    yes) ;;
-    no)  ;;
-
-    /*)
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MIT-SCREEN-SAVER headers" >&5
-$as_echo_n "checking for MIT-SCREEN-SAVER headers... " >&6; }
-     d=$with_mit/include
-     if test -d $d; then
-       X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
-$as_echo "$d" >&6; }
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
-$as_echo "not found ($d: no such directory)" >&6; }
-     fi
-
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MIT-SCREEN-SAVER libs" >&5
-$as_echo_n "checking for MIT-SCREEN-SAVER libs... " >&6; }
-     d=$with_mit/lib
-     if test -d $d; then
-       X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
-$as_echo "$d" >&6; }
-     else
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
-$as_echo "not found ($d: no such directory)" >&6; }
-     fi
-
-     # replace the directory string with "yes".
-     with_mit_req="yes"
-     with_mit=$with_mit_req
-     ;;
-
-    *)
-     echo ""
-     echo "error: argument to --with-mit-ext must be \"yes\", \"no\", or a directory."
-     echo "       If it is a directory, then \`DIR/include' will be added to"
-     echo "       the -I list, and \`DIR/lib' will be added to the -L list."
-     exit 1
-     ;;
-   esac
-
-
-if test "$with_mit" = yes; then
-
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  if test \! -z "$includedir" ; then
-    CPPFLAGS="$CPPFLAGS -I$includedir"
-  fi
-  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
-  ac_fn_c_check_header_compile "$LINENO" "X11/extensions/scrnsaver.h" "ac_cv_header_X11_extensions_scrnsaver_h" "#include <X11/Xlib.h>
-"
-if test "x$ac_cv_header_X11_extensions_scrnsaver_h" = xyes; then :
-  have_mit=yes
-fi
-
-
-  CPPFLAGS="$ac_save_CPPFLAGS"
-
-  # Now check to see if it's really in the library; XF86Free-3.3 ships
-  # scrnsaver.h, but doesn't include the code in libXext.a
-  if test "$have_mit" = yes; then
-
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  ac_save_LDFLAGS="$LDFLAGS"
-#  ac_save_LIBS="$LIBS"
-
-  if test \! -z "$includedir" ; then
-    CPPFLAGS="$CPPFLAGS -I$includedir"
-  fi
-  # note: $X_CFLAGS includes $x_includes
-  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
-
-  if test \! -z "$libdir" ; then
-    LDFLAGS="$LDFLAGS -L$libdir"
-  fi
-  # note: $X_LIBS includes $x_libraries
-  LDFLAGS="$LDFLAGS $ALL_X_LIBS"
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XScreenSaverRegister in -lXext" >&5
-$as_echo_n "checking for XScreenSaverRegister in -lXext... " >&6; }
-if ${ac_cv_lib_Xext_XScreenSaverRegister+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lXext -lm $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char XScreenSaverRegister ();
-int
-main ()
-{
-return XScreenSaverRegister ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_Xext_XScreenSaverRegister=yes
-else
-  ac_cv_lib_Xext_XScreenSaverRegister=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xext_XScreenSaverRegister" >&5
-$as_echo "$ac_cv_lib_Xext_XScreenSaverRegister" >&6; }
-if test "x$ac_cv_lib_Xext_XScreenSaverRegister" = xyes; then :
-  true
-else
-  have_mit=no
-fi
-
-  CPPFLAGS="$ac_save_CPPFLAGS"
-  LDFLAGS="$ac_save_LDFLAGS"
-#  LIBS="$ac_save_LIBS"
-
-
-    if test "$have_mit" = no; then
-      # Looks like XF86Free-3.3 actually puts it in XExExt instead
-      # of in Xext.
-
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  ac_save_LDFLAGS="$LDFLAGS"
-#  ac_save_LIBS="$LIBS"
-
-  if test \! -z "$includedir" ; then
-    CPPFLAGS="$CPPFLAGS -I$includedir"
-  fi
-  # note: $X_CFLAGS includes $x_includes
-  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
-
-  if test \! -z "$libdir" ; then
-    LDFLAGS="$LDFLAGS -L$libdir"
-  fi
-  # note: $X_LIBS includes $x_libraries
-  LDFLAGS="$LDFLAGS $ALL_X_LIBS"
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XScreenSaverRegister in -lXExExt" >&5
-$as_echo_n "checking for XScreenSaverRegister in -lXExExt... " >&6; }
-if ${ac_cv_lib_XExExt_XScreenSaverRegister+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lXExExt -lX11 -lXext -lm $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char XScreenSaverRegister ();
-int
-main ()
-{
-return XScreenSaverRegister ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_XExExt_XScreenSaverRegister=yes
-else
-  ac_cv_lib_XExExt_XScreenSaverRegister=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_XExExt_XScreenSaverRegister" >&5
-$as_echo "$ac_cv_lib_XExExt_XScreenSaverRegister" >&6; }
-if test "x$ac_cv_lib_XExExt_XScreenSaverRegister" = xyes; then :
-  have_mit=yes; SAVER_LIBS="$SAVER_LIBS -lXExExt"
-else
-  true
-fi
-
-  CPPFLAGS="$ac_save_CPPFLAGS"
-  LDFLAGS="$ac_save_LDFLAGS"
-#  LIBS="$ac_save_LIBS"
-
-    fi
-
-    if test "$have_mit" = no; then
-      # Looks like some versions of XFree86 (whichever version
-      # it is that comes with RedHat Linux 2.0 -- I can't find a version
-      # number) put this in Xss instead of Xext.
-
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  ac_save_LDFLAGS="$LDFLAGS"
-#  ac_save_LIBS="$LIBS"
-
-  if test \! -z "$includedir" ; then
-    CPPFLAGS="$CPPFLAGS -I$includedir"
-  fi
-  # note: $X_CFLAGS includes $x_includes
-  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
-
-  if test \! -z "$libdir" ; then
-    LDFLAGS="$LDFLAGS -L$libdir"
-  fi
-  # note: $X_LIBS includes $x_libraries
-  LDFLAGS="$LDFLAGS $ALL_X_LIBS"
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XScreenSaverRegister in -lXss" >&5
-$as_echo_n "checking for XScreenSaverRegister in -lXss... " >&6; }
-if ${ac_cv_lib_Xss_XScreenSaverRegister+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lXss -lX11 -lXext -lm $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char XScreenSaverRegister ();
-int
-main ()
-{
-return XScreenSaverRegister ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_Xss_XScreenSaverRegister=yes
-else
-  ac_cv_lib_Xss_XScreenSaverRegister=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xss_XScreenSaverRegister" >&5
-$as_echo "$ac_cv_lib_Xss_XScreenSaverRegister" >&6; }
-if test "x$ac_cv_lib_Xss_XScreenSaverRegister" = xyes; then :
-  have_mit=yes; SAVER_LIBS="$SAVER_LIBS -lXss"
-else
-  true
-fi
-
-  CPPFLAGS="$ac_save_CPPFLAGS"
-  LDFLAGS="$ac_save_LDFLAGS"
-#  LIBS="$ac_save_LIBS"
-
-    fi
-
-  if test "$have_mit" = yes; then
-
-$as_echo "#define HAVE_MIT_SAVER_EXTENSION 1" >>confdefs.h
-
-  fi
-
-  fi
-
-elif test "$with_mit" != no; then
-  echo "error: must be yes or no: --with-mit-ext=$with_mit"
-  exit 1
-fi
-
-
 have_xf86vmode=no
 have_xf86gamma=no
 have_xf86gamma_ramp=no
@@ -16824,7 +16532,7 @@ int
 main ()
 {
 pam_handle_t *pamh = 0;
-                      char *s = pam_strerror(pamh, PAM_SUCCESS);
+                      const char *s = pam_strerror(pamh, PAM_SUCCESS);
   ;
   return 0;
 }
@@ -18729,7 +18437,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by xfce4-screensaver $as_me 0.1.11, which was
+This file was extended by xfce4-screensaver $as_me 4.16.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18795,7 +18503,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-xfce4-screensaver config.status 0.1.11
+xfce4-screensaver config.status 4.16.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 


=====================================
configure.ac
=====================================
@@ -2,7 +2,7 @@ dnl -*- mode: m4 -*-
 
 AC_PREREQ(2.60)
 AC_INIT([xfce4-screensaver],
-        [0.1.11],
+        [4.16.0],
         [https://www.xfce.org/])
 
 AC_CONFIG_SRCDIR(src/xfce4-screensaver.c)
@@ -345,55 +345,6 @@ if test "$have_shape" = yes; then
   AC_DEFINE(HAVE_SHAPE_EXT, 1, [Define if shape extension is available])
 fi
 
-dnl ---------------------------------------------------------------------------
-dnl - Check for the MIT-SCREEN-SAVER server extension.
-dnl ---------------------------------------------------------------------------
-
-have_mit=no
-with_mit_req=unspecified
-AC_ARG_WITH(mit-ext,
-[  --with-mit-ext          Include support for the MIT-SCREEN-SAVER extension.],
-  [with_mit="$withval"; with_mit_req="$withval"],[with_mit=yes])
-
-HANDLE_X_PATH_ARG(with_mit, --with-mit-ext, MIT-SCREEN-SAVER)
-
-if test "$with_mit" = yes; then
-  AC_CHECK_X_HEADER(X11/extensions/scrnsaver.h, [have_mit=yes],,
-                    [#include <X11/Xlib.h>])
-
-  # Now check to see if it's really in the library; XF86Free-3.3 ships
-  # scrnsaver.h, but doesn't include the code in libXext.a
-  if test "$have_mit" = yes; then
-    AC_CHECK_X_LIB(Xext, XScreenSaverRegister, [true], [have_mit=no], -lm)
-
-    if test "$have_mit" = no; then
-      # Looks like XF86Free-3.3 actually puts it in XExExt instead
-      # of in Xext.
-      AC_CHECK_X_LIB(XExExt, XScreenSaverRegister,
-                     [have_mit=yes; SAVER_LIBS="$SAVER_LIBS -lXExExt"],
-                     [true], -lX11 -lXext -lm)
-    fi
-
-    if test "$have_mit" = no; then
-      # Looks like some versions of XFree86 (whichever version
-      # it is that comes with RedHat Linux 2.0 -- I can't find a version
-      # number) put this in Xss instead of Xext.
-      AC_CHECK_X_LIB(Xss, XScreenSaverRegister,
-                     [have_mit=yes; SAVER_LIBS="$SAVER_LIBS -lXss"],
-                     [true], -lX11 -lXext -lm)
-    fi
-
-  if test "$have_mit" = yes; then
-    AC_DEFINE(HAVE_MIT_SAVER_EXTENSION, 1, [Define if the MIT screensaver extension is available])
-  fi
-
-  fi
-
-elif test "$with_mit" != no; then
-  echo "error: must be yes or no: --with-mit-ext=$with_mit"
-  exit 1
-fi
-
 dnl ---------------------------------------------------------------------------
 dnl - Check for the XF86VMODE server extension (for gamma fading.)
 dnl ---------------------------------------------------------------------------
@@ -617,7 +568,7 @@ if test "x$have_pam" = "xyes"; then
                       #include <stdlib.h>
                       #include <security/pam_appl.h>],
                      [pam_handle_t *pamh = 0;
-                      char *s = pam_strerror(pamh, PAM_SUCCESS);],
+                      const char *s = pam_strerror(pamh, PAM_SUCCESS);],
                      [ac_pam_strerror_args=2],
                      [AC_TRY_COMPILE([#include <stdio.h>
                                       #include <stdlib.h>


=====================================
doc/xfce4-screensaver.xml
=====================================
@@ -3,8 +3,8 @@
 
 <book id="index">
   <bookinfo>
-    <title>Xfce Screensaver 0.1.11 Documentation</title>
-    <releaseinfo>Version 0.1.11</releaseinfo>
+    <title>Xfce Screensaver 4.16.0 Documentation</title>
+    <releaseinfo>Version 4.16.0</releaseinfo>
     <date>6 June, 2006</date>
     <authorgroup>
       <author>


=====================================
po/cs.po
=====================================
@@ -5,17 +5,17 @@
 # 
 # Translators:
 # Pavel Borecki <pavel.borecki at gmail.com>, 2019
-# Michal Várady <miko.vaji at gmail.com>, 2019
 # Nick Schermer <nick at xfce.org>, 2020
+# Michal Várady <miko.vaji at gmail.com>, 2020
 # 
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-01-15 12:31+0100\n"
+"POT-Creation-Date: 2020-11-08 00:46+0100\n"
 "PO-Revision-Date: 2018-10-16 16:27+0000\n"
-"Last-Translator: Nick Schermer <nick at xfce.org>, 2020\n"
+"Last-Translator: Michal Várady <miko.vaji at gmail.com>, 2020\n"
 "Language-Team: Czech (https://www.transifex.com/xfce/teams/16840/cs/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -75,21 +75,21 @@ msgstr "Použitý zdrojový obrázek"
 
 #. translators: the word "image" here
 #. * represents a command line argument
-#: ../savers/floaters.c:1122
+#: ../savers/floaters.c:1129
 msgid "image - floats images around the screen"
 msgstr "image - počet obrázků plujících po obrazovce"
 
-#: ../savers/floaters.c:1126 ../savers/popsquares.c:49
+#: ../savers/floaters.c:1133 ../savers/popsquares.c:49
 #, c-format
 msgid "%s. See --help for usage information.\n"
 msgstr "%s. Informace o použití získáte příkazem --help.\n"
 
-#: ../savers/floaters.c:1133
+#: ../savers/floaters.c:1140
 #, c-format
 msgid "Failed to initialize the windowing system."
 msgstr "Inicializace systému oken se nezdařila."
 
-#: ../savers/floaters.c:1139
+#: ../savers/floaters.c:1146
 #, c-format
 msgid "You must specify one image.  See --help for usage information.\n"
 msgstr ""
@@ -178,15 +178,15 @@ msgstr "Již nemáte oprávnění přistupovat k systému."
 msgid "Username:"
 msgstr "Uživatelské jméno:"
 
-#: ../src/gs-listener-dbus.c:1913
+#: ../src/gs-listener-dbus.c:1967
 msgid "failed to register with the message bus"
 msgstr "nepodařilo se registrovat na sběrnici zpráv"
 
-#: ../src/gs-listener-dbus.c:1923
+#: ../src/gs-listener-dbus.c:1977
 msgid "not connected to the message bus"
 msgstr "nepřipojeno ke sběrnici zpráv"
 
-#: ../src/gs-listener-dbus.c:1932 ../src/gs-listener-dbus.c:1962
+#: ../src/gs-listener-dbus.c:1986 ../src/gs-listener-dbus.c:2016
 msgid "screensaver already running in this session"
 msgstr "v této relaci je již šetřič obrazovky spuštěný"
 
@@ -252,34 +252,34 @@ msgid "The reason for inhibiting the screensaver"
 msgstr "Důvod pro odstavení šetřiče"
 
 #: ../src/xfce4-screensaver-command.c:100 ../src/xfce4-screensaver-dialog.c:65
-#: ../src/xfce4-screensaver.c:58
+#: ../src/xfce4-screensaver.c:57
 msgid "Version of this application"
 msgstr "Verze této aplikace"
 
-#: ../src/xfce4-screensaver-command.c:206
+#: ../src/xfce4-screensaver-command.c:208
 #, c-format
 msgid "The screensaver is %s\n"
 msgstr "Šetřič obrazovky je %s\n"
 
-#: ../src/xfce4-screensaver-command.c:206
+#: ../src/xfce4-screensaver-command.c:208
 msgid "active"
 msgstr "aktivní"
 
-#: ../src/xfce4-screensaver-command.c:206
+#: ../src/xfce4-screensaver-command.c:208
 msgid "inactive"
 msgstr "neaktivní"
 
-#: ../src/xfce4-screensaver-command.c:217
+#: ../src/xfce4-screensaver-command.c:219
 #, c-format
 msgid "The screensaver is not inhibited\n"
 msgstr "Šetřič není odstaven\n"
 
-#: ../src/xfce4-screensaver-command.c:219
+#: ../src/xfce4-screensaver-command.c:221
 #, c-format
 msgid "The screensaver is being inhibited by:\n"
 msgstr "Šetřič je odstaven na žádost:\n"
 
-#: ../src/xfce4-screensaver-command.c:235
+#: ../src/xfce4-screensaver-command.c:237
 #, c-format
 msgid "The screensaver has been active for %d seconds.\n"
 msgstr "Šetřič byl aktivní %d sekund.\n"
@@ -447,7 +447,7 @@ msgstr "Zadejte nové heslo."
 
 #: ../src/xfce4-screensaver-dialog.c:200
 msgid "Enter your current password:"
-msgstr "Zadejte stávající heslo:"
+msgstr "Zadejte aktuální heslo:"
 
 #: ../src/xfce4-screensaver-dialog.c:202
 msgid "Error while changing NIS password."
@@ -667,11 +667,7 @@ msgstr "Uzamknout obrazovku s uspáním systému"
 msgid "Lock Screen"
 msgstr "Uzamknout obrazovku"
 
-#: ../src/xfce4-screensaver.c:59
-msgid "Don't become a daemon"
-msgstr "Nepřecházet v proces služby"
-
-#: ../src/xfce4-screensaver.c:60
+#: ../src/xfce4-screensaver.c:58
 msgid "Enable debugging code"
 msgstr "Povolit ladicí kód"
 


=====================================
po/ja.po
=====================================
@@ -6,19 +6,19 @@
 # Translators:
 # kdeguchi <kdeguchi at sz.tokoha-u.ac.jp>, 2018
 # Xfce Bot <transifex at xfce.org>, 2018
-# Nobuhiro Iwamatsu <iwamatsu at nigauri.org>, 2019
 # Masato HASHIMOTO <cabezon.hashimoto at gmail.com>, 2019
 # UTUMI Hirosi <utuhiro78 at yahoo.co.jp>, 2019
 # Nick Schermer <nick at xfce.org>, 2020
+# Nobuhiro Iwamatsu <iwamatsu at nigauri.org>, 2020
 # 
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-01-15 12:31+0100\n"
+"POT-Creation-Date: 2020-11-08 00:46+0100\n"
 "PO-Revision-Date: 2018-10-16 16:27+0000\n"
-"Last-Translator: Nick Schermer <nick at xfce.org>, 2020\n"
+"Last-Translator: Nobuhiro Iwamatsu <iwamatsu at nigauri.org>, 2020\n"
 "Language-Team: Japanese (https://www.transifex.com/xfce/teams/16840/ja/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -78,21 +78,21 @@ msgstr "使用するソース画像"
 
 #. translators: the word "image" here
 #. * represents a command line argument
-#: ../savers/floaters.c:1122
+#: ../savers/floaters.c:1129
 msgid "image - floats images around the screen"
 msgstr "画像 - 画面の周りに画像を浮遊させる"
 
-#: ../savers/floaters.c:1126 ../savers/popsquares.c:49
+#: ../savers/floaters.c:1133 ../savers/popsquares.c:49
 #, c-format
 msgid "%s. See --help for usage information.\n"
 msgstr "%s。使用法については --help を参照してください。\n"
 
-#: ../savers/floaters.c:1133
+#: ../savers/floaters.c:1140
 #, c-format
 msgid "Failed to initialize the windowing system."
 msgstr "ウィンドウシステムの初期化に失敗しました。"
 
-#: ../savers/floaters.c:1139
+#: ../savers/floaters.c:1146
 #, c-format
 msgid "You must specify one image.  See --help for usage information.\n"
 msgstr "1つの画像を指定する必要があります。使用法については --help を参照してください。\n"
@@ -115,19 +115,19 @@ msgstr "\"#rrggbb\""
 
 #: ../savers/slideshow.c:61
 msgid "Do not randomize pictures from location"
-msgstr "場所からの写真をランダム化しないでください"
+msgstr "場所から写真をランダム化しない"
 
 #: ../savers/slideshow.c:65
 msgid "Do not try to stretch images on screen"
-msgstr "画面上の画像を引き伸ばそうとしないでください"
+msgstr "画面上の画像を引き伸ばそうとしない"
 
 #: ../savers/xfce-floaters.desktop.in.in.h:1
 msgid "Floating Xfce"
-msgstr "フローティングXfce"
+msgstr "フローティング Xfce"
 
 #: ../savers/xfce-floaters.desktop.in.in.h:2
 msgid "Bubbles the Xfce logo around the screen"
-msgstr "Xfceロゴを画面の周りに泡立てる"
+msgstr "Xfce ロゴを画面の周りに泡立てる"
 
 #: ../savers/xfce-personal-slideshow.desktop.in.in.h:1
 msgid "Slideshow"
@@ -179,15 +179,15 @@ msgstr "システムへのアクセスが許可されなくなりました。"
 msgid "Username:"
 msgstr "ユーザー名:"
 
-#: ../src/gs-listener-dbus.c:1913
+#: ../src/gs-listener-dbus.c:1967
 msgid "failed to register with the message bus"
 msgstr "メッセージバスへの登録に失敗しました"
 
-#: ../src/gs-listener-dbus.c:1923
+#: ../src/gs-listener-dbus.c:1977
 msgid "not connected to the message bus"
 msgstr "メッセージバスに接続されていません"
 
-#: ../src/gs-listener-dbus.c:1932 ../src/gs-listener-dbus.c:1962
+#: ../src/gs-listener-dbus.c:1986 ../src/gs-listener-dbus.c:2016
 msgid "screensaver already running in this session"
 msgstr "このセッションで既に実行中のスクリーンセーバー"
 
@@ -247,36 +247,36 @@ msgid "The reason for inhibiting the screensaver"
 msgstr "スクリーンセーバーを禁止する理由"
 
 #: ../src/xfce4-screensaver-command.c:100 ../src/xfce4-screensaver-dialog.c:65
-#: ../src/xfce4-screensaver.c:58
+#: ../src/xfce4-screensaver.c:57
 msgid "Version of this application"
 msgstr "このアプリケーションのバージョン"
 
-#: ../src/xfce4-screensaver-command.c:206
+#: ../src/xfce4-screensaver-command.c:208
 #, c-format
 msgid "The screensaver is %s\n"
 msgstr "スクリーンセーバーは %s です\n"
 
-#: ../src/xfce4-screensaver-command.c:206
+#: ../src/xfce4-screensaver-command.c:208
 msgid "active"
 msgstr "アクティブ"
 
-#: ../src/xfce4-screensaver-command.c:206
+#: ../src/xfce4-screensaver-command.c:208
 msgid "inactive"
 msgstr "非アクティブ"
 
-#: ../src/xfce4-screensaver-command.c:217
+#: ../src/xfce4-screensaver-command.c:219
 #, c-format
 msgid "The screensaver is not inhibited\n"
 msgstr ""
 "スクリーンセーバーは禁止されていません\n"
 "\n"
 
-#: ../src/xfce4-screensaver-command.c:219
+#: ../src/xfce4-screensaver-command.c:221
 #, c-format
 msgid "The screensaver is being inhibited by:\n"
 msgstr "スクリーンセーバーは以下によって禁止されています:\n"
 
-#: ../src/xfce4-screensaver-command.c:235
+#: ../src/xfce4-screensaver-command.c:237
 #, c-format
 msgid "The screensaver has been active for %d seconds.\n"
 msgstr "スクリーンセーバーは %d 秒間アクティブです。\n"
@@ -663,11 +663,7 @@ msgstr "システムスリープで画面をロックする"
 msgid "Lock Screen"
 msgstr "ロック画面"
 
-#: ../src/xfce4-screensaver.c:59
-msgid "Don't become a daemon"
-msgstr "デーモンにならない"
-
-#: ../src/xfce4-screensaver.c:60
+#: ../src/xfce4-screensaver.c:58
 msgid "Enable debugging code"
 msgstr "デバッグコードを有効にする"
 


=====================================
po/pt.po
=====================================
@@ -17,7 +17,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-01-15 12:31+0100\n"
+"POT-Creation-Date: 2020-11-08 00:46+0100\n"
 "PO-Revision-Date: 2018-10-16 16:27+0000\n"
 "Last-Translator: Hugo Carvalho <hugokarvalho at hotmail.com>, 2020\n"
 "Language-Team: Portuguese (https://www.transifex.com/xfce/teams/16840/pt/)\n"
@@ -79,21 +79,21 @@ msgstr "A fonte da imagem a usar"
 
 #. translators: the word "image" here
 #. * represents a command line argument
-#: ../savers/floaters.c:1122
+#: ../savers/floaters.c:1129
 msgid "image - floats images around the screen"
 msgstr "imagem - imagens flutuantes no ecrã"
 
-#: ../savers/floaters.c:1126 ../savers/popsquares.c:49
+#: ../savers/floaters.c:1133 ../savers/popsquares.c:49
 #, c-format
 msgid "%s. See --help for usage information.\n"
 msgstr "%s. Ver --help para informação de utilização.\n"
 
-#: ../savers/floaters.c:1133
+#: ../savers/floaters.c:1140
 #, c-format
 msgid "Failed to initialize the windowing system."
 msgstr "Falha ao iniciar o sistema de janelas."
 
-#: ../savers/floaters.c:1139
+#: ../savers/floaters.c:1146
 #, c-format
 msgid "You must specify one image.  See --help for usage information.\n"
 msgstr ""
@@ -118,7 +118,7 @@ msgstr "\"#rrggbb\""
 
 #: ../savers/slideshow.c:61
 msgid "Do not randomize pictures from location"
-msgstr "Não tornar aleatória as imagens desde a localização "
+msgstr "Não tornar aleatória as imagens desde a localização"
 
 #: ../savers/slideshow.c:65
 msgid "Do not try to stretch images on screen"
@@ -182,15 +182,15 @@ msgstr "Não é mais permitido ter acesso ao sistema."
 msgid "Username:"
 msgstr "Utilizador:"
 
-#: ../src/gs-listener-dbus.c:1913
+#: ../src/gs-listener-dbus.c:1967
 msgid "failed to register with the message bus"
 msgstr "falhou o registo com o canal de mensagem"
 
-#: ../src/gs-listener-dbus.c:1923
+#: ../src/gs-listener-dbus.c:1977
 msgid "not connected to the message bus"
 msgstr "não ligado ao canal de mensagem"
 
-#: ../src/gs-listener-dbus.c:1932 ../src/gs-listener-dbus.c:1962
+#: ../src/gs-listener-dbus.c:1986 ../src/gs-listener-dbus.c:2016
 msgid "screensaver already running in this session"
 msgstr "protecção de ecrã já em execução nesta sessão"
 
@@ -254,34 +254,34 @@ msgid "The reason for inhibiting the screensaver"
 msgstr "A razão para a inibição da proteção de ecrã"
 
 #: ../src/xfce4-screensaver-command.c:100 ../src/xfce4-screensaver-dialog.c:65
-#: ../src/xfce4-screensaver.c:58
+#: ../src/xfce4-screensaver.c:57
 msgid "Version of this application"
 msgstr "Versão desta aplicação"
 
-#: ../src/xfce4-screensaver-command.c:206
+#: ../src/xfce4-screensaver-command.c:208
 #, c-format
 msgid "The screensaver is %s\n"
 msgstr "A protecção de ecrã está %s\n"
 
-#: ../src/xfce4-screensaver-command.c:206
+#: ../src/xfce4-screensaver-command.c:208
 msgid "active"
 msgstr "activa"
 
-#: ../src/xfce4-screensaver-command.c:206
+#: ../src/xfce4-screensaver-command.c:208
 msgid "inactive"
 msgstr "inactiva"
 
-#: ../src/xfce4-screensaver-command.c:217
+#: ../src/xfce4-screensaver-command.c:219
 #, c-format
 msgid "The screensaver is not inhibited\n"
 msgstr "A proteção de ecrã não está inibida\n"
 
-#: ../src/xfce4-screensaver-command.c:219
+#: ../src/xfce4-screensaver-command.c:221
 #, c-format
 msgid "The screensaver is being inhibited by:\n"
 msgstr "A proteção de ecrã está inibida por:\n"
 
-#: ../src/xfce4-screensaver-command.c:235
+#: ../src/xfce4-screensaver-command.c:237
 #, c-format
 msgid "The screensaver has been active for %d seconds.\n"
 msgstr "A proteção de ecrã esteve ativa por %d segundos.\n"
@@ -671,11 +671,7 @@ msgstr "Bloquear Ecrã com o Adormecer do Sistema"
 msgid "Lock Screen"
 msgstr "Bloquear ecrã"
 
-#: ../src/xfce4-screensaver.c:59
-msgid "Don't become a daemon"
-msgstr "Não ficar em segundo plano"
-
-#: ../src/xfce4-screensaver.c:60
+#: ../src/xfce4-screensaver.c:58
 msgid "Enable debugging code"
 msgstr "Ativar código de depuração"
 


=====================================
po/tr.po
=====================================
@@ -10,16 +10,16 @@
 # Recep, 2019
 # Serdar Sağlam <teknomobil at msn.com>, 2019
 # Nick Schermer <nick at xfce.org>, 2020
-# Emin Tufan <etcetin at gmail.com>, 2020
+# Emin Tufan Çetin <etcetin at gmail.com>, 2020
 # 
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-01-15 12:31+0100\n"
+"POT-Creation-Date: 2020-11-08 00:46+0100\n"
 "PO-Revision-Date: 2018-10-16 16:27+0000\n"
-"Last-Translator: Emin Tufan <etcetin at gmail.com>, 2020\n"
+"Last-Translator: Emin Tufan Çetin <etcetin at gmail.com>, 2020\n"
 "Language-Team: Turkish (https://www.transifex.com/xfce/teams/16840/tr/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -59,7 +59,7 @@ msgstr "Kare hızını ve diğer istatistikleri yazdır"
 
 #: ../savers/floaters.c:104
 msgid "The maximum number of images to keep on screen"
-msgstr "Ekranda tutulacak maksimum görüntü sayısı"
+msgstr "Ekranda tutulacak azami görüntü sayısı"
 
 #: ../savers/floaters.c:104
 msgid "MAX_IMAGES"
@@ -79,24 +79,24 @@ msgstr "Kullanılacak kaynak resim"
 
 #. translators: the word "image" here
 #. * represents a command line argument
-#: ../savers/floaters.c:1122
+#: ../savers/floaters.c:1129
 msgid "image - floats images around the screen"
 msgstr "görüntü - ekran etrafında görüntüler yüzer"
 
-#: ../savers/floaters.c:1126 ../savers/popsquares.c:49
+#: ../savers/floaters.c:1133 ../savers/popsquares.c:49
 #, c-format
 msgid "%s. See --help for usage information.\n"
 msgstr "%sKullanım bilgileri için --help komutuna bakın. \n"
 
-#: ../savers/floaters.c:1133
+#: ../savers/floaters.c:1140
 #, c-format
 msgid "Failed to initialize the windowing system."
 msgstr "Pencereleme sistemi başlatılamadı."
 
-#: ../savers/floaters.c:1139
+#: ../savers/floaters.c:1146
 #, c-format
 msgid "You must specify one image.  See --help for usage information.\n"
-msgstr "Bir resim belirtmelisiniz. Kullanım bilgileri için bkz --help.\n"
+msgstr "Resim belirtmelisiniz. Kullanım bilgileri için bkz --help.\n"
 
 #: ../savers/slideshow.c:53
 msgid "Location to get images from"
@@ -136,7 +136,7 @@ msgstr "Sırayla Göster"
 
 #: ../savers/xfce-personal-slideshow.desktop.in.in.h:2
 msgid "Display a slideshow from your Pictures folder"
-msgstr "Resimler dizininden bir slayt gösterisi ayarlayın"
+msgstr "Resimler dizininden slayt gösterisi görüntüle"
 
 #: ../savers/xfce-popsquares.desktop.in.in.h:1
 msgid "Pop art squares"
@@ -180,15 +180,15 @@ msgstr "Sistem erişimine artık izin verilmiyor."
 msgid "Username:"
 msgstr "Kullanıcı:"
 
-#: ../src/gs-listener-dbus.c:1913
+#: ../src/gs-listener-dbus.c:1967
 msgid "failed to register with the message bus"
 msgstr "ileti veri yoluna kayıt yapılamadı"
 
-#: ../src/gs-listener-dbus.c:1923
+#: ../src/gs-listener-dbus.c:1977
 msgid "not connected to the message bus"
 msgstr "ileti veri yoluna bağlı değil"
 
-#: ../src/gs-listener-dbus.c:1932 ../src/gs-listener-dbus.c:1962
+#: ../src/gs-listener-dbus.c:1986 ../src/gs-listener-dbus.c:2016
 msgid "screensaver already running in this session"
 msgstr "Bu oturumda zaten ekran koruyucu çalışıyor"
 
@@ -219,7 +219,7 @@ msgstr "Ekranı hemen kilitlemek için çalışan ekran koruyucu sürecini anlat
 
 #: ../src/xfce4-screensaver-command.c:72
 msgid "If the screensaver is active then switch to another graphics demo"
-msgstr "Ekran koruyucu aktif ise başka bir grafik demoya geçin"
+msgstr "Ekran koruyucu aktif ise başka grafik tanıtımına geç"
 
 #: ../src/xfce4-screensaver-command.c:76
 msgid "Turn the screensaver on (blank the screen)"
@@ -251,34 +251,34 @@ msgid "The reason for inhibiting the screensaver"
 msgstr "Ekran koruyucuyu engelleme nedeni"
 
 #: ../src/xfce4-screensaver-command.c:100 ../src/xfce4-screensaver-dialog.c:65
-#: ../src/xfce4-screensaver.c:58
+#: ../src/xfce4-screensaver.c:57
 msgid "Version of this application"
 msgstr "Bu uygulamanın sürümü"
 
-#: ../src/xfce4-screensaver-command.c:206
+#: ../src/xfce4-screensaver-command.c:208
 #, c-format
 msgid "The screensaver is %s\n"
 msgstr "Ekran koruyucu %s\n"
 
-#: ../src/xfce4-screensaver-command.c:206
+#: ../src/xfce4-screensaver-command.c:208
 msgid "active"
 msgstr "aktif"
 
-#: ../src/xfce4-screensaver-command.c:206
+#: ../src/xfce4-screensaver-command.c:208
 msgid "inactive"
 msgstr "pasif"
 
-#: ../src/xfce4-screensaver-command.c:217
+#: ../src/xfce4-screensaver-command.c:219
 #, c-format
 msgid "The screensaver is not inhibited\n"
 msgstr "Ekran koruyucu engellenmiyor\n"
 
-#: ../src/xfce4-screensaver-command.c:219
+#: ../src/xfce4-screensaver-command.c:221
 #, c-format
 msgid "The screensaver is being inhibited by:\n"
 msgstr "Ekran koruyucu tarafından engelleniyor:\n"
 
-#: ../src/xfce4-screensaver-command.c:235
+#: ../src/xfce4-screensaver-command.c:237
 #, c-format
 msgid "The screensaver has been active for %d seconds.\n"
 msgstr "Ekran koruyucu %d saniye boyunca aktif.\n"
@@ -308,11 +308,11 @@ msgstr ""
 
 #: ../src/xfce4-screensaver-configure:176
 msgid "Part of Xfce Screensaver"
-msgstr "Xfce Ekran koruyucunun bir parçası"
+msgstr "Xfce Ekran koruyucunun parçası"
 
 #: ../src/xfce4-screensaver-configure:403
 msgid "Restore Defaults"
-msgstr "Varsayılanları Geri Yükle"
+msgstr "Öntanımlıları Geri Yükle"
 
 #: ../src/xfce4-screensaver-configure:416
 msgid "Preferences"
@@ -456,11 +456,11 @@ msgstr "NIS parolası değiştirilirken hata oluştu."
 
 #: ../src/xfce4-screensaver-dialog.c:204
 msgid "You must choose a longer password."
-msgstr "Daha uzun bir parola seçmelisiniz."
+msgstr "Daha uzun parola seçmelisiniz."
 
 #: ../src/xfce4-screensaver-dialog.c:206
 msgid "Password has been already used. Choose another."
-msgstr "Parola zaten kullanıldı. Başka bir tane belirle."
+msgstr "Parola zaten kullanıldı. Başka belirle."
 
 #: ../src/xfce4-screensaver-dialog.c:208
 msgid "You must wait longer to change your password."
@@ -539,11 +539,11 @@ msgstr "Lütfen ekran koruyucunun doğru kurulduğundan emin olun."
 
 #: ../src/xfce4-screensaver-preferences.ui.h:1
 msgid "Screensaver Preview"
-msgstr "Ekran Koruyucu Önizlemesi"
+msgstr "Ekran Koruyucu Ön İzlemesi"
 
 #: ../src/xfce4-screensaver-preferences.ui.h:2
 msgid "<b>Screensaver preview</b>"
-msgstr "<b>Ekran Koruyucu Önizlemesi</b>"
+msgstr "<b>Ekran Koruyucu Ön İzlemesi</b>"
 
 #: ../src/xfce4-screensaver-preferences.ui.h:3
 msgid "Screensaver Preferences"
@@ -559,7 +559,7 @@ msgstr "Güç _Yönetimi"
 
 #: ../src/xfce4-screensaver-preferences.ui.h:6
 msgid "Preview"
-msgstr "Önizleme"
+msgstr "Ön İzleme"
 
 #: ../src/xfce4-screensaver-preferences.ui.h:7
 msgid "Running as root"
@@ -667,11 +667,7 @@ msgstr "Sistem Uykuda ise Ekranı Kilitle"
 msgid "Lock Screen"
 msgstr "Kilit Ekranı"
 
-#: ../src/xfce4-screensaver.c:59
-msgid "Don't become a daemon"
-msgstr "Bir ana süreç olmayın"
-
-#: ../src/xfce4-screensaver.c:60
+#: ../src/xfce4-screensaver.c:58
 msgid "Enable debugging code"
 msgstr "Hata ayıklama kodunu etkinleştir"
 


=====================================
savers/floaters.c
=====================================
@@ -268,8 +268,8 @@ static gdouble screen_saver_get_timestamp (ScreenSaver *screen_saver);
 static void screen_saver_get_initial_state (ScreenSaver *screen_saver);
 static void screen_saver_update_state (ScreenSaver *screen_saver,
                                        gdouble      time);
-static gboolean screen_saver_do_update_state (ScreenSaver *screen_saver);
-static gboolean screen_saver_do_update_stats (ScreenSaver *screen_saver);
+static gboolean screen_saver_do_update_state (gpointer user_data);
+static gboolean screen_saver_do_update_stats (gpointer user_data);
 static gdouble screen_saver_get_updates_per_second (ScreenSaver *screen_saver);
 static gdouble screen_saver_get_frames_per_second (ScreenSaver *screen_saver);
 static gdouble screen_saver_get_image_cache_usage (ScreenSaver *screen_saver);
@@ -279,7 +279,6 @@ static void screen_saver_on_size_allocate (ScreenSaver   *screen_saver,
                                            GtkAllocation *allocation);
 static void screen_saver_on_draw (ScreenSaver *screen_saver,
                                   cairo_t     *context);
-static gboolean do_print_screen_saver_stats (ScreenSaver *screen_saver);
 static GdkPixbuf *gamma_correct (const GdkPixbuf *input_pixbuf);
 
 static CachedSource*
@@ -833,11 +832,10 @@ screen_saver_new (GtkWidget   *drawing_area,
 
     screen_saver->state_update_timeout_id =
         g_timeout_add (1000 / (2.0 * OPTIMAL_FRAME_RATE),
-                       (GSourceFunc) screen_saver_do_update_state, screen_saver);
+                       screen_saver_do_update_state, screen_saver);
 
     screen_saver->stats_update_timeout_id =
-        g_timeout_add (1000, (GSourceFunc) screen_saver_do_update_stats,
-                       screen_saver);
+        g_timeout_add (1000, screen_saver_do_update_stats, screen_saver);
 
     return screen_saver;
 }
@@ -1048,7 +1046,8 @@ screen_saver_get_initial_state (ScreenSaver *screen_saver) {
 }
 
 static gboolean
-screen_saver_do_update_state (ScreenSaver *screen_saver) {
+screen_saver_do_update_state (gpointer user_data) {
+    ScreenSaver *screen_saver = user_data;
     gdouble current_update_time;
 
     /* flush pending requests to the X server and block for
@@ -1071,7 +1070,8 @@ screen_saver_do_update_state (ScreenSaver *screen_saver) {
 }
 
 static gboolean
-screen_saver_do_update_stats (ScreenSaver *screen_saver) {
+screen_saver_do_update_stats (gpointer user_data) {
+    ScreenSaver *screen_saver = user_data;
     gdouble last_calculated_stats_time, seconds_since_last_stats_update;
 
     last_calculated_stats_time = screen_saver->current_calculated_stats_time;
@@ -1097,7 +1097,9 @@ screen_saver_do_update_stats (ScreenSaver *screen_saver) {
 }
 
 static gboolean
-do_print_screen_saver_stats (ScreenSaver *screen_saver) {
+do_print_screen_saver_stats (gpointer user_data) {
+    ScreenSaver *screen_saver = user_data;
+
     g_print ("updates per second: %.2f, frames per second: %.2f, "
              "image cache %.0f%% full\n",
              screen_saver_get_updates_per_second (screen_saver),
@@ -1164,9 +1166,7 @@ main (int   argc,
     g_strfreev (filenames);
 
     if (should_print_stats)
-        g_timeout_add (STAT_PRINT_FREQUENCY,
-                       (GSourceFunc) do_print_screen_saver_stats,
-                       screen_saver);
+        g_timeout_add (STAT_PRINT_FREQUENCY, do_print_screen_saver_stats, screen_saver);
 
     G_GNUC_BEGIN_IGNORE_DEPRECATIONS /* GTK 3.20 */
     if ((geometry == NULL)


=====================================
savers/gste-popsquares.c
=====================================
@@ -484,7 +484,8 @@ draw_frame (GSTEPopsquares *pop,
 }
 
 static gboolean
-draw_iter (GSTEPopsquares *pop) {
+draw_iter (gpointer user_data) {
+    GSTEPopsquares *pop = user_data;
     gtk_widget_queue_draw (GTK_WIDGET (pop));
     return TRUE;
 }
@@ -499,7 +500,7 @@ gste_popsquares_init (GSTEPopsquares *engine) {
     engine->priv->subdivision = 5;
 
     delay = 25;
-    engine->priv->timeout_id = g_timeout_add (delay, (GSourceFunc)draw_iter, engine);
+    engine->priv->timeout_id = g_timeout_add (delay, draw_iter, engine);
 }
 
 static void


=====================================
savers/gste-slideshow.c
=====================================
@@ -104,7 +104,8 @@ typedef struct _OpResult {
 } OpResult;
 
 static gboolean
-push_load_image_func (GSTESlideshow *show) {
+push_load_image_func (gpointer user_data) {
+    GSTESlideshow *show = user_data;
     Op *op;
 
     gs_theme_engine_profile_msg ("Starting a new image load");
@@ -129,8 +130,7 @@ start_new_load (GSTESlideshow *show,
     /* queue a new load */
     if (show->priv->update_image_id <= 0) {
         show->priv->update_image_id = g_timeout_add_full (G_PRIORITY_LOW, timeout,
-                                      (GSourceFunc)push_load_image_func,
-                                      show, NULL);
+                                      push_load_image_func, show, NULL);
     }
 }
 
@@ -297,7 +297,9 @@ update_display (GSTESlideshow *show) {
 }
 
 static gboolean
-draw_iter (GSTESlideshow *show) {
+draw_iter (gpointer user_data) {
+    GSTESlideshow *show = user_data;
+
     if (show->priv->pat2 != NULL) {
         double old_opacity;
         double new_opacity;
@@ -381,7 +383,8 @@ op_result_free (OpResult *result) {
 }
 
 static gboolean
-results_pull_func (GSTESlideshow *show) {
+results_pull_func (gpointer user_data) {
+    GSTESlideshow *show = user_data;
     OpResult *result;
 
     g_async_queue_lock (show->priv->results_q);
@@ -606,7 +609,7 @@ op_load_image (GSTESlideshow *show,
 
     if (show->priv->results_pull_id == 0) {
         show->priv->results_pull_id = g_idle_add_full (G_PRIORITY_HIGH_IDLE,
-                                                       (GSourceFunc)results_pull_func,
+                                                       results_pull_func,
                                                        show, NULL);
     }
 
@@ -751,7 +754,7 @@ gste_slideshow_real_show (GtkWidget *widget) {
     start_new_load (show, 10);
 
     delay = 25;
-    show->priv->timeout_id = g_timeout_add (delay, (GSourceFunc)draw_iter, show);
+    show->priv->timeout_id = g_timeout_add (delay, draw_iter, show);
 
     if (show->priv->timer != NULL) {
         g_timer_destroy (show->priv->timer);


=====================================
src/gs-auth-pam.c
=====================================
@@ -176,7 +176,8 @@ auth_message_handler (GSAuthMessageStyle   style,
 }
 
 static gboolean
-gs_auth_queued_message_handler (GsAuthMessageHandlerData *data) {
+gs_auth_queued_message_handler (gpointer user_data) {
+    GsAuthMessageHandlerData *data = user_data;
     gboolean res;
 
     if (gs_auth_get_verbose ()) {
@@ -223,7 +224,7 @@ gs_auth_run_message_handler (struct pam_closure  *c,
 
     /* Queue the callback in the gui (the main) thread
      */
-    g_idle_add ((GSourceFunc) gs_auth_queued_message_handler, &data);
+    g_idle_add (gs_auth_queued_message_handler, &data);
 
     if (gs_auth_get_verbose ()) {
         g_message ("Waiting for respose to message style %d: '%s'", style, msg);


=====================================
src/gs-listener-dbus.c
=====================================
@@ -510,6 +510,11 @@ add_sleep_inhibit (GSListener *listener) {
 
     g_return_if_fail (listener != NULL);
 
+    if (listener->priv->system_connection == NULL) {
+        gs_debug ("No connection to the system bus");
+        return;
+    }
+
     dbus_error_init (&error);
 
 #if defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)
@@ -1724,7 +1729,8 @@ gs_listener_dbus_init (GSListener *listener) {
 }
 
 static gboolean
-reinit_dbus (GSListener *listener) {
+reinit_dbus (gpointer user_data) {
+    GSListener *listener = user_data;
     gboolean initialized;
     gboolean try_again;
 
@@ -1764,7 +1770,7 @@ listener_dbus_filter_function (DBusConnection *connection,
         dbus_connection_unref (connection);
         listener->priv->connection = NULL;
 
-        g_timeout_add_seconds (10, (GSourceFunc)reinit_dbus, listener);
+        g_timeout_add_seconds (10, reinit_dbus, listener);
     } else if (dbus_message_is_signal (message,
                                      DBUS_INTERFACE_DBUS,
                                      "NameOwnerChanged")) {
@@ -1795,7 +1801,7 @@ listener_dbus_system_filter_function (DBusConnection *connection,
         dbus_connection_unref (connection);
         listener->priv->system_connection = NULL;
 
-        g_timeout_add_seconds (10, (GSourceFunc)reinit_dbus, listener);
+        g_timeout_add_seconds (10, reinit_dbus, listener);
     } else {
         return listener_dbus_handle_system_message (connection, message, user_data, FALSE);
     }
@@ -2196,7 +2202,7 @@ gs_listener_init (GSListener *listener) {
 #endif
     listener->priv->prefs = gs_prefs_new();
 
-    g_assert (gs_listener_dbus_init (listener));
+    gs_listener_dbus_init (listener);
 
     init_session_id (listener);
 


=====================================
src/gs-listener-x11.c
=====================================
@@ -100,10 +100,19 @@ static gboolean
 get_x11_idle_info (guint *idle_time,
                    gint  *state) {
     Display *display = gdk_x11_display_get_xdisplay(gdk_display_get_default());
-    static XScreenSaverInfo *mit_info = NULL;
+    static XScreenSaverInfo *mit_info;
 
-    mit_info = XScreenSaverAllocInfo();
-    XScreenSaverQueryInfo(display, GDK_ROOT_WINDOW(), mit_info);
+    if (mit_info == NULL)
+        mit_info = XScreenSaverAllocInfo();
+    if (mit_info == NULL)
+        return FALSE;
+
+    if (XScreenSaverQueryInfo(display, GDK_ROOT_WINDOW(), mit_info) == 0)
+        return FALSE;
+
+    gs_debug("XScreenSaverInfo: state %x kind %x tos %lu idle %lu m %lx",
+             mit_info->state, mit_info->kind, mit_info->til_or_since,
+             mit_info->idle, mit_info->eventMask);
     *idle_time = mit_info->idle / 1000;  // seconds
     *state = mit_info->state;
 
@@ -129,7 +138,8 @@ check_fullscreen_window () {
 }
 
 static gboolean
-lock_timer (GSListenerX11 *listener) {
+lock_timer (gpointer user_data) {
+    GSListenerX11 *listener = user_data;
     guint    idle_time;
     guint    lock_time = 0;
     gint     state;
@@ -139,7 +149,9 @@ lock_timer (GSListenerX11 *listener) {
     if (!listener->priv->prefs->saver_enabled)
         return TRUE;
 
-    get_x11_idle_info (&idle_time, &state);
+    if (get_x11_idle_info (&idle_time, &state) == FALSE)
+        return TRUE;
+
     if (idle_time > listener->priv->timeout) {
         lock_time = idle_time - listener->priv->timeout;
     }
@@ -151,7 +163,7 @@ lock_timer (GSListenerX11 *listener) {
         fullscreen_inhibition = check_fullscreen_window();
     }
 
-    gs_debug("Idle: %is, Saver: %s, Saver Timeout: %is, Lock: %s, Lock Timeout: %is, Lock Timer: %is, Lock Status: %s, Fullscreen: %s",
+    gs_debug("Idle: %us, Saver: %s, Saver Timeout: %is, Lock: %s, Lock Timeout: %is, Lock Timer: %us, Lock Status: %s, Fullscreen: %s",
              idle_time,
              listener->priv->prefs->idle_activation_enabled ? "Enabled" : "Disabled",
              listener->priv->timeout,
@@ -217,9 +229,7 @@ reset_timer(GSListenerX11 *listener,
             guint          timeout) {
     remove_lock_timer(listener);
 
-    listener->priv->timer_id = g_timeout_add_seconds(timeout,
-                                                     (GSourceFunc)lock_timer,
-                                                     listener);
+    listener->priv->timer_id = g_timeout_add_seconds(timeout, lock_timer, listener);
 }
 
 static GdkFilterReturn
@@ -305,7 +315,7 @@ gs_listener_x11_set_timeouts (GSListenerX11 *listener) {
     gboolean trigger_reset_timer = FALSE;
 
     /* set X server timeouts and disable screen blanking */
-    XSetScreenSaver(display, timeout, timeout, 0, 0);
+    XSetScreenSaver(display, timeout, timeout, DontPreferBlanking, DontAllowExposures);
 
     if (listener->priv->timeout != timeout) {
         listener->priv->timeout = timeout;


=====================================
src/gs-lock-plug.c
=====================================
@@ -273,23 +273,36 @@ set_status_text (GSLockPlug *plug,
     }
 }
 
-static void
-date_time_update (GSLockPlug *plug) {
+static gboolean
+date_time_update (gpointer user_data) {
+    GSLockPlug *plug = user_data;
     GDateTime *datetime;
     gchar     *datetime_format;
     gchar     *str;
 
     datetime = g_date_time_new_now_local ();
+    if (datetime == NULL)
+        goto out;
+
     /* TRANSLATORS: adjust this accordingly for your locale format */
     datetime_format = g_date_time_format (datetime, NC_("Date",
                                                         "%A, %B %e   %H:%M"));
+    if (datetime_format == NULL)
+        goto out_datetime;
 
     str = g_strdup_printf ("<b>%s</b>", datetime_format);
+    if (str == NULL)
+        goto out_str;
+
     gtk_label_set_markup (GTK_LABEL (plug->priv->auth_datetime_label), str);
     g_free (str);
 
+out_str:
     g_free (datetime_format);
+out_datetime:
     g_date_time_unref (datetime);
+out:
+    return TRUE;
 }
 
 void
@@ -347,7 +360,9 @@ gs_lock_plug_response (GSLockPlug *plug,
 }
 
 static gboolean
-response_cancel_idle_cb (GSLockPlug *plug) {
+response_cancel_idle (gpointer user_data) {
+    GSLockPlug *plug = user_data;
+
     plug->priv->response_idle_id = 0;
 
     gs_lock_plug_response (plug, GS_LOCK_PLUG_RESPONSE_CANCEL);
@@ -356,7 +371,9 @@ response_cancel_idle_cb (GSLockPlug *plug) {
 }
 
 static gboolean
-dialog_timed_out (GSLockPlug *plug) {
+dialog_timed_out (gpointer user_data) {
+    GSLockPlug *plug = user_data;
+
     gs_lock_plug_set_sensitive (plug, FALSE);
     set_status_text (plug, _("Time has expired."));
 
@@ -366,9 +383,7 @@ dialog_timed_out (GSLockPlug *plug) {
 
     remove_response_idle (plug);
 
-    plug->priv->response_idle_id = g_timeout_add_seconds (2,
-                                   (GSourceFunc)response_cancel_idle_cb,
-                                   plug);
+    plug->priv->response_idle_id = g_timeout_add_seconds (2, response_cancel_idle, plug);
     return FALSE;
 }
 
@@ -404,10 +419,7 @@ is_capslock_on (void) {
 static void
 restart_cancel_timeout (GSLockPlug *plug) {
     remove_cancel_timeout (plug);
-    plug->priv->cancel_timeout_id = g_timeout_add_seconds (
-                                       DIALOG_TIMEOUT_SEC,
-                                       (GSourceFunc)dialog_timed_out,
-                                       plug);
+    plug->priv->cancel_timeout_id = g_timeout_add_seconds (DIALOG_TIMEOUT_SEC, dialog_timed_out, plug);
 }
 
 void
@@ -1363,9 +1375,7 @@ switch_user_button_clicked (GtkButton  *button,
 
     gs_lock_plug_set_sensitive (plug, FALSE);
 
-    plug->priv->response_idle_id = g_timeout_add_seconds (2,
-            (GSourceFunc)response_cancel_idle_cb,
-            plug);
+    plug->priv->response_idle_id = g_timeout_add_seconds (2, response_cancel_idle, plug);
 
     gs_lock_plug_set_busy (plug);
     do_user_switch (plug);
@@ -1536,7 +1546,7 @@ gs_lock_plug_init (GSLockPlug *plug) {
     clear_clipboards (plug);
 
     gs_lock_plug_add_login_window (plug);
-    plug->priv->datetime_timeout_id = g_timeout_add_seconds (60, (GSourceFunc) date_time_update, plug);
+    plug->priv->datetime_timeout_id = g_timeout_add_seconds (60, date_time_update, plug);
 
     /* Layout indicator */
 #ifdef WITH_KBD_LAYOUT_INDICATOR


=====================================
src/gs-manager.c
=====================================
@@ -40,7 +40,6 @@ static void     gs_manager_class_init (GSManagerClass *klass);
 static void     gs_manager_init       (GSManager      *manager);
 static void     gs_manager_finalize   (GObject        *object);
 
-static gboolean activate_dpms_timeout (GSManager      *manager);
 static void     remove_dpms_timer     (GSManager      *manager);
 static void     add_dpms_timer        (GSManager      *manager,
                                        glong           timeout);
@@ -89,7 +88,6 @@ static guint         signals[LAST_SIGNAL] = { 0, };
 G_DEFINE_TYPE_WITH_PRIVATE (GSManager, gs_manager, G_TYPE_OBJECT)
 
 static void         remove_deepsleep_idle   (GSManager *manager);
-static gboolean     deepsleep_idle          (GSManager *manager);
 static void         add_deepsleep_idle      (GSManager *manager);
 static void
 gs_manager_create_windows_for_display       (GSManager  *manager,
@@ -323,7 +321,9 @@ gs_manager_enable_locker (GSManager *manager,
 }
 
 static gboolean
-activate_lock_timeout (GSManager *manager) {
+activate_lock_timeout (gpointer user_data) {
+    GSManager *manager = user_data;
+
     gs_debug ("Locking screen on idle timeout");
     gs_manager_enable_locker (manager, TRUE);
     manager->priv->lock_timeout_id = 0;
@@ -341,7 +341,7 @@ remove_lock_timer (GSManager *manager) {
 
 static void
 add_lock_timer (GSManager *manager,
-                glong      seconds) {
+                guint      seconds) {
     if (!manager->priv->prefs->lock_enabled)
         return;
     if (!manager->priv->prefs->lock_with_saver_enabled)
@@ -349,10 +349,8 @@ add_lock_timer (GSManager *manager,
     if (manager->priv->lock_active)
         return;
 
-    gs_debug ("Scheduling screen lock after screensaver is idling for %i sec", seconds * 60);
-    manager->priv->lock_timeout_id = g_timeout_add_seconds (seconds * 60,
-                                                    (GSourceFunc)activate_lock_timeout,
-                                                    manager);
+    gs_debug ("Scheduling screen lock after screensaver is idling for %u sec", seconds * 60);
+    manager->priv->lock_timeout_id = g_timeout_add_seconds (seconds * 60, activate_lock_timeout, manager);
 }
 
 void
@@ -392,7 +390,9 @@ gs_manager_cycle (GSManager *manager) {
 }
 
 static gboolean
-cycle_timeout (GSManager *manager) {
+cycle_timeout (gpointer user_data) {
+    GSManager *manager = user_data;
+
     g_return_val_if_fail (manager != NULL, FALSE);
     g_return_val_if_fail (GS_IS_MANAGER (manager), FALSE);
 
@@ -414,9 +414,7 @@ remove_cycle_timer (GSManager *manager) {
 static void
 add_cycle_timer (GSManager *manager,
                  glong      seconds) {
-    manager->priv->cycle_timeout_id = g_timeout_add_seconds (seconds,
-                                                     (GSourceFunc)cycle_timeout,
-                                                     manager);
+    manager->priv->cycle_timeout_id = g_timeout_add_seconds (seconds, cycle_timeout, manager);
 }
 
 static void
@@ -553,7 +551,8 @@ gs_manager_init (GSManager *manager) {
 }
 
 static gboolean
-activate_dpms_timeout (GSManager *manager) {
+activate_dpms_timeout (gpointer user_data) {
+    GSManager *manager = user_data;
     BOOL state;
     CARD16 power_level;
 
@@ -596,9 +595,7 @@ add_dpms_timer (GSManager *manager,
         return;
 
     gs_debug ("Scheduling DPMS change after screensaver is idling for %i seconds(s)", timeout);
-    manager->priv->dpms_timeout_id = g_timeout_add_seconds (timeout,
-                                                    (GSourceFunc)activate_dpms_timeout,
-                                                    manager);
+    manager->priv->dpms_timeout_id = g_timeout_add_seconds (timeout, activate_dpms_timeout, manager);
 }
 
 static void
@@ -609,7 +606,8 @@ remove_timers (GSManager *manager) {
 }
 
 static gboolean
-window_deactivated_idle (GSManager *manager) {
+window_deactivated_idle (gpointer user_data) {
+    GSManager *manager = user_data;
     g_return_val_if_fail (manager != NULL, FALSE);
     g_return_val_if_fail (GS_IS_MANAGER (manager), FALSE);
 
@@ -626,7 +624,7 @@ window_deactivated_cb (GSWindow  *window,
     g_return_if_fail (manager != NULL);
     g_return_if_fail (GS_IS_MANAGER (manager));
 
-    g_idle_add ((GSourceFunc)window_deactivated_idle, manager);
+    g_idle_add (window_deactivated_idle, manager);
 }
 
 static GSWindow *
@@ -748,7 +746,8 @@ remove_deepsleep_idle (GSManager *manager) {
 }
 
 static gboolean
-deepsleep_idle (GSManager *manager) {
+deepsleep_idle (gpointer user_data) {
+    GSManager *manager = user_data;
     BOOL state;
     CARD16 power_level;
 
@@ -777,7 +776,7 @@ deepsleep_idle (GSManager *manager) {
 static void
 add_deepsleep_idle (GSManager *manager) {
     remove_deepsleep_idle(manager);
-    manager->priv->deepsleep_idle_id = g_timeout_add_seconds (15, (GSourceFunc)deepsleep_idle, manager);
+    manager->priv->deepsleep_idle_id = g_timeout_add_seconds (15, deepsleep_idle, manager);
 }
 
 static gboolean
@@ -1041,7 +1040,9 @@ add_overlays (GSManager *manager) {
 }
 
 static gboolean
-remove_overlays (GSList *windows) {
+remove_overlays (gpointer user_data) {
+    GSList *windows = user_data;
+
     gs_debug("Done reconfiguring monitors, removing overlays");
     g_slist_free_full (windows, (GDestroyNotify) gtk_widget_destroy);
     return FALSE;
@@ -1072,9 +1073,7 @@ reconfigure_monitors (GdkDisplay *display,
 
     gs_manager_request_unlock (manager);
 
-    g_timeout_add_seconds (2,
-                   (GSourceFunc)remove_overlays,
-                   windows);
+    g_timeout_add_seconds (2, remove_overlays, windows);
 }
 
 static void
@@ -1271,9 +1270,7 @@ gs_manager_activate (GSManager *manager) {
 
     show_windows (manager->priv->windows);
 
-    g_timeout_add_seconds (2,
-                   (GSourceFunc)remove_overlays,
-                   windows);
+    g_timeout_add_seconds (2, remove_overlays, windows);
 
     return TRUE;
 }


=====================================
src/gs-window-x11.c
=====================================
@@ -47,7 +47,7 @@ static void     gs_window_class_init     (GSWindowClass *klass);
 static void     gs_window_init           (GSWindow      *window);
 static void     gs_window_finalize       (GObject       *object);
 
-static gboolean popup_dialog_idle        (GSWindow      *window);
+static gboolean popup_dialog_idle        (gpointer user_data);
 static void     gs_window_dialog_finish  (GSWindow      *window);
 static void     gs_window_set_obscured   (GSWindow      *window,
                                           gboolean       obscured);
@@ -521,7 +521,8 @@ gs_window_real_realize (GtkWidget *widget) {
 /* every so often we should raise the window in case
    another window has somehow gotten on top */
 static gboolean
-watchdog_timer (GSWindow *window) {
+watchdog_timer (gpointer user_data) {
+    GSWindow *window = user_data;
     GtkWidget *widget = GTK_WIDGET (window);
 
     gdk_window_focus (gtk_widget_get_window (widget), GDK_CURRENT_TIME);
@@ -540,9 +541,7 @@ remove_watchdog_timer (GSWindow *window) {
 static void
 add_watchdog_timer (GSWindow *window,
                     glong     seconds) {
-    window->priv->watchdog_timer_id = g_timeout_add_seconds (seconds,
-                                      (GSourceFunc)watchdog_timer,
-                                      window);
+    window->priv->watchdog_timer_id = g_timeout_add_seconds (seconds, watchdog_timer, window);
 }
 
 static void
@@ -555,11 +554,13 @@ remove_popup_dialog_idle (GSWindow *window) {
 
 static void
 add_popup_dialog_idle (GSWindow *window) {
-    window->priv->popup_dialog_idle_id = g_idle_add ((GSourceFunc)popup_dialog_idle, window);
+    window->priv->popup_dialog_idle_id = g_idle_add (popup_dialog_idle, window);
 }
 
 static gboolean
-emit_deactivated_idle (GSWindow *window) {
+emit_deactivated_idle (gpointer user_data) {
+    GSWindow *window = user_data;
+
     g_signal_emit (window, signals[DEACTIVATED], 0);
 
     return FALSE;
@@ -567,7 +568,7 @@ emit_deactivated_idle (GSWindow *window) {
 
 static void
 add_emit_deactivated_idle (GSWindow *window) {
-    g_idle_add ((GSourceFunc)emit_deactivated_idle, window);
+    g_idle_add (emit_deactivated_idle, window);
 }
 
 static void
@@ -799,7 +800,9 @@ set_info_text_and_icon (GSWindow   *window,
 }
 
 static gboolean
-info_bar_timeout (GSWindow *window) {
+info_bar_timeout (gpointer user_data) {
+    GSWindow *window = user_data;
+
     window->priv->info_bar_timer_id = 0;
     gtk_widget_hide (window->priv->info_bar);
     return FALSE;
@@ -822,9 +825,7 @@ gs_window_show_message (GSWindow   *window,
         g_source_remove (window->priv->info_bar_timer_id);
     }
 
-    window->priv->info_bar_timer_id = g_timeout_add_seconds (INFO_BAR_SECONDS,
-                                      (GSourceFunc)info_bar_timeout,
-                                      window);
+    window->priv->info_bar_timer_id = g_timeout_add_seconds (INFO_BAR_SECONDS, info_bar_timeout, window);
 }
 
 void
@@ -1564,7 +1565,9 @@ popup_dialog (GSWindow *window) {
 }
 
 static gboolean
-popup_dialog_idle (GSWindow *window) {
+popup_dialog_idle (gpointer user_data) {
+    GSWindow *window = user_data;
+
     popup_dialog (window);
 
     window->priv->popup_dialog_idle_id = 0;


=====================================
src/test-window.c
=====================================
@@ -70,6 +70,11 @@ window_activity_cb (GSWindow *window,
     return TRUE;
 }
 
+static gboolean
+auth_timeout (gpointer user_data) {
+    gtk_main_quit();
+    return FALSE;
+}
 static void
 disconnect_window_signals (GSWindow *window) {
     gpointer data;
@@ -158,7 +163,7 @@ main (int    argc,
     test_window ();
 
     /* safety valve in case we can't authenticate */
-    g_timeout_add_seconds (30, (GSourceFunc)gtk_main_quit, NULL);
+    g_timeout_add_seconds (30, auth_timeout, NULL);
 
     gtk_main ();
 


=====================================
src/xfce-bg.c
=====================================
@@ -242,7 +242,9 @@ static void        color_from_color_array   (XfconfChannel    *channel,
 }
 
 static gboolean
-do_changed (XfceBG *bg) {
+do_changed (gpointer user_data) {
+    XfceBG *bg = user_data;
+
     bg->changed_id = 0;
 
     g_signal_emit (G_OBJECT (bg), signals[CHANGED], 0);
@@ -256,15 +258,12 @@ queue_changed (XfceBG *bg) {
         g_source_remove (bg->changed_id);
     }
 
-    bg->changed_id = g_timeout_add_full (G_PRIORITY_LOW,
-                         100,
-                         (GSourceFunc)do_changed,
-                         bg,
-                         NULL);
+    bg->changed_id = g_timeout_add_full (G_PRIORITY_LOW, 100, do_changed, bg, NULL);
 }
 
 static gboolean
-do_transitioned (XfceBG *bg) {
+do_transitioned (gpointer user_data) {
+    XfceBG *bg = user_data;
     bg->transitioned_id = 0;
 
     if (bg->pixbuf_cache) {
@@ -283,11 +282,7 @@ queue_transitioned (XfceBG *bg) {
         g_source_remove (bg->transitioned_id);
     }
 
-    bg->transitioned_id = g_timeout_add_full (G_PRIORITY_LOW,
-                          100,
-                          (GSourceFunc)do_transitioned,
-                          bg,
-                          NULL);
+    bg->transitioned_id = g_timeout_add_full (G_PRIORITY_LOW, 100, do_transitioned, bg, NULL);
 }
 
 static gchar *


=====================================
src/xfce4-screensaver-command.c
=====================================
@@ -176,7 +176,8 @@ screensaver_is_running (GDBusConnection *connection)
 }
 
 static gboolean
-do_command (GDBusConnection *conn) {
+do_command (gpointer user_data) {
+    GDBusConnection *conn = user_data;
     GDBusMessage *reply;
 
     if (!screensaver_is_running (conn)) {
@@ -322,7 +323,7 @@ main (int    argc,
             g_error_free (error);
             return EXIT_FAILURE;
     }
-    g_idle_add ((GSourceFunc)do_command, conn);
+    g_idle_add (do_command, conn);
 
     loop = g_main_loop_new (NULL, FALSE);
     g_main_loop_run (loop);


=====================================
src/xfce4-screensaver-configure
=====================================
@@ -21,81 +21,93 @@
 
 import argparse
 import os
-import subprocess
 import sys
 import xml.etree.ElementTree as ET
 import warnings
 
 from collections import OrderedDict
 
-import locale
 from locale import gettext as _
 
 import gi
+gi.require_version('GLib', '2.0')
+gi.require_version('GObject', '2.0')
 gi.require_version('Gdk', '3.0')
 gi.require_version('Gtk', '3.0')
-from gi.repository import GLib
-from gi.repository import Gtk
-from gi.repository import Gdk
+gi.require_version('Libxfce4util', '1.0')
+gi.require_version('Xfconf', '0')
+from gi.repository import GLib, GObject, Gdk, Gtk, Libxfce4util, Xfconf
 
 warnings.filterwarnings("ignore")
 
 
-class XfconfChannel:
+class XfconfSettings(object):
 
-    def __init__(self, channel, prefix):
-        self.channel = channel
-        self.prefix = prefix
+    def __init__(self, channel_obj, prop_base):
+        self.channel = channel_obj
+        self.prefix = prop_base
 
-    def _get_property(self, prop, default=""):
-        prop = "%s/%s" % (self.prefix, prop)
-        command = ["xfconf-query", "-c", self.channel, "-p", prop, "-l", "-v"]
-        response = subprocess.check_output(command).decode("utf-8")
-        if prop in response:
-            value = (response.replace(prop, "")).strip()
-            return value
-        return default
-
-    def _set_property(self, prop_type, prop, value):
-        prop = "%s/%s" % (self.prefix, prop)
-        command = ["xfconf-query", "-c", self.channel, "-p",
-                   prop, "-n", "-t", prop_type, "-s", str(value)]
-        return subprocess.call(command)
+    def _check_property_name(self, name):
+        if name.startswith('/'):
+            return name
+        else:
+            return '{0}/{1}'.format(self.prefix, name)
 
     def restore_defaults(self):
-        command = ["xfconf-query", "-c", self.channel, "-p", self.prefix, "-r", "-R"]
-        return subprocess.call(command)
+        self.channel.reset_property(self.prefix, True)
 
-    def get_boolean(self, prop, default):
-        value = self._get_property(prop, default)
-        if value in ["true", True]:
+    def get_boolean(self, prop):
+        g_value = GObject.Value(GObject.TYPE_BOOLEAN)
+        self.channel.get_property(self._check_property_name(prop),
+                                  g_value)
+        if g_value.get_boolean() in ["true", True]:
             return True
         return False
 
     def set_boolean(self, prop, value):
-        if value:
-            value = "true"
-        else:
-            value = "false"
-        return self._set_property("bool", prop, value)
+        g_value = GObject.Value(GObject.TYPE_BOOLEAN)
+        g_value.set_boolean(value)
+        self.channel.set_property(self._check_property_name(prop),
+                                  g_value)
 
-    def get_double(self, prop, default):
-        return locale.atof(str(self._get_property(prop, default)))
+    def get_double(self, prop):
+        g_value = GObject.Value(GObject.TYPE_DOUBLE)
+        self.channel.get_property(self._check_property_name(prop),
+                                  g_value)
+        return g_value.get_double()
 
     def set_double(self, prop, value):
-        return self._set_property("double", prop, value)
+        g_value = GObject.Value(GObject.TYPE_DOUBLE)
+        g_value.set_double(float(value))
+        self.channel.set_property(self._check_property_name(prop),
+                                  g_value)
 
-    def get_int(self, prop, default):
-        return int(self._get_property(prop, default))
+    def get_int(self, prop):
+        g_value = GObject.Value(GObject.TYPE_INT)
+        self.channel.get_property(self._check_property_name(prop),
+                                  g_value)
+        return g_value.get_int()
 
     def set_int(self, prop, value):
-        return self._set_property("int", prop, value)
+        g_value = GObject.Value(GObject.TYPE_INT)
+        g_value.set_int(int(value))
+        self.channel.set_property(self._check_property_name(prop),
+                                  g_value)
 
-    def get_string(self, prop, default):
-        return str(self._get_property(prop, default))
+    def get_string(self, prop):
+        g_value = GObject.Value(GObject.TYPE_STRING)
+        self.channel.get_property(self._check_property_name(prop),
+                                  g_value)
+        return g_value.get_string()
 
     def set_string(self, prop, value):
-        return self._set_property("string", prop, value)
+        g_value = GObject.Value(GObject.TYPE_STRING)
+        g_value.set_string(value)
+        self.channel.set_property(self._check_property_name(prop),
+                                  g_value)
+
+    def check_property(self, prop):
+        return self.channel.has_property(self._check_property_name(prop))
 
 
 class ScreensaverSettings:
@@ -154,7 +166,9 @@ class DesktopScreensaverSettings(ScreensaverSettings):
         if not os.path.exists(filename):
             return False
 
-        locale.textdomain('xfce4-screensaver')
+        Libxfce4util.textdomain('xfce4-screensaver',
+                                os.path.join(sys.prefix, '/share/locale'),
+                                'UTF-8')
 
         self.filename = filename
 
@@ -224,7 +238,9 @@ class XmlScreensaverSettings(ScreensaverSettings):
         if not os.path.exists(filename):
             return False
 
-        locale.textdomain('xscreensaver')
+        Libxfce4util.textdomain('xscreensaver',
+                                os.path.join(sys.prefix, '/share/locale'),
+                                'UTF-8')
 
         self.filename = filename
         element = ET.parse(filename).getroot()
@@ -358,18 +374,34 @@ class ConfigurationWindow(Gtk.Window):
     def __init__(self, parsed):
         Gtk.Window.__init__(self, title=parsed["label"])
 
-        locale.textdomain('xfce4-screensaver')
+        Libxfce4util.textdomain('xfce4-screensaver',
+                                os.path.join(sys.prefix, '/share/locale'),
+                                'UTF-8')
 
         self.set_border_width(6)
         self.set_default_size(400, -1)
         self.set_icon_name("preferences-desktop-screensaver")
-        self.set_wmclass("xfce4-screensaver-preferences",
-                         "xfce4-screensaver-preferences")
+        if not self.check_gtk_version(3, 22, 0):
+            self.set_wmclass("xfce4-screensaver-preferences",
+                             "xfce4-screensaver-preferences")
 
         self.inner_margin = 12
         self.screensaver_args = parsed["arguments"]
-        self.xfconf_channel = XfconfChannel(
-            "xfce4-screensaver", "/screensavers/%s" % parsed["name"])
+
+        property_base = '/screensavers/{0}'.format(parsed['name'])
+        channel = None
+
+        if Xfconf.init():
+            channel = Xfconf.Channel.get('xfce4-screensaver')
+            if channel is not None:
+                self.xfconf_settings = XfconfSettings(channel,
+                                                      property_base)
+            else:
+                print(_('Unable to access channel'))
+                sys.exit(1)
+        else:
+            print(_('Failed to initialize Xfconf'))
+            sys.exit(1)
 
         self.notebook = Gtk.Notebook.new()
         self.grid = Gtk.Grid.new()
@@ -443,7 +475,13 @@ class ConfigurationWindow(Gtk.Window):
 
         if opt["type"] == "checkbox":
             widget = Gtk.CheckButton.new_with_label("")
-            active = self.get_boolean(opt["id"], False)
+
+            if self.xfconf_settings.check_property(opt['id']):
+                active = self.xfconf_settings.get_boolean(opt['id'])
+                self.defaults[opt['id']] = False
+            else:
+                active = self.get_boolean(opt['id'], False)
+
             widget.set_active(active)
             widget.connect("toggled", self.on_checkbutton_toggle, opt["id"])
         elif opt["type"] == "file":
@@ -471,7 +509,13 @@ class ConfigurationWindow(Gtk.Window):
                 opt_argument = get_key(option, "argument", "")
                 widget.append(opt_id, opt_label)
                 self.lookup_table[opt["id"]][opt_id] = opt_argument
-            current = self.get_string(opt["id"], "")
+
+            if self.xfconf_settings.check_property(opt['id']):
+                current = self.xfconf_settings.get_string(opt['id'])
+                self.defaults[opt['id']] = ''
+            else:
+                current = self.get_string(opt['id'], '')
+
             widget.set_active_id(current)
             widget.connect("changed", self.on_select_changed, opt["id"])
         elif opt["type"] == "slider":
@@ -485,12 +529,24 @@ class ConfigurationWindow(Gtk.Window):
             widget.add_mark(
                 opt["high"], Gtk.PositionType.BOTTOM, opt["high-label"])
             widget.set_digits(prefs['digits'])
-            value = self.get_double(opt["id"], opt["default"])
+
+            if self.xfconf_settings.check_property(opt['id']):
+                value = self.xfconf_settings.get_double(opt['id'])
+                self.defaults[opt['id']] = opt['default']
+            else:
+                value = self.get_double(opt['id'], opt['default'])
+
             adj.set_value(value)
             widget.connect("value-changed", self.on_double_changed, opt["id"])
         elif opt["type"] == "spinbutton":
             widget = Gtk.SpinButton.new_with_range(opt["low"], opt["high"], 1)
-            value = self.get_int(opt["id"], opt["default"])
+
+            if self.xfconf_settings.check_property(opt['id']):
+                value = self.xfconf_settings.get_int(opt['id'])
+                self.defaults[opt['id']] = opt['default']
+            else:
+                value = self.get_int(opt['id'], opt['default'])
+
             widget.set_value(value)
             widget.connect("value-changed", self.on_int_changed, opt["id"])
         elif opt["type"] == "color":
@@ -503,8 +559,18 @@ class ConfigurationWindow(Gtk.Window):
             sys.exit(1)
         return widget
 
+    # Taken from Catfish (catfish_lib/helpers.py)
+    def check_gtk_version(self, major, minor, micro):
+        gtk_version = (Gtk.get_major_version(),
+                       Gtk.get_minor_version(),
+                       Gtk.get_micro_version())
+        return gtk_version >= (int(major), int(minor), int(micro))
+
     def get_boolean(self, option_id, default):
-        value = self.xfconf_channel.get_boolean(option_id, default)
+        if self.xfconf_settings.check_property(option_id):
+            value = self.xfconf_settings.get_boolean(option_id)
+        else:
+            value = default
         self.defaults[option_id] = default
         self.set_boolean(option_id, value, False)
         return value
@@ -512,10 +578,13 @@ class ConfigurationWindow(Gtk.Window):
     def set_boolean(self, option_id, value, store=True):
         self.settings[option_id] = value
         if store:
-            self.xfconf_channel.set_boolean(option_id, value)
+            self.xfconf_settings.set_boolean(option_id, value)
 
     def get_double(self, option_id, default):
-        value = self.xfconf_channel.get_double(option_id, default)
+        if self.xfconf_settings.check_property(option_id):
+            value = self.xfconf_settings.get_double(option_id)
+        else:
+            value = default
         self.defaults[option_id] = default
         self.set_double(option_id, value, False)
         return value
@@ -523,10 +592,13 @@ class ConfigurationWindow(Gtk.Window):
     def set_double(self, option_id, value, store=True):
         self.settings[option_id] = value
         if store:
-            self.xfconf_channel.set_double(option_id, value)
+            self.xfconf_settings.set_double(option_id, value)
 
     def get_int(self, option_id, default):
-        value = self.xfconf_channel.get_int(option_id, default)
+        if self.xfconf_settings.check_property(option_id):
+            value = self.xfconf_settings.get_int(option_id)
+        else:
+            value = default
         self.defaults[option_id] = default
         self.set_int(option_id, value, False)
         return value
@@ -534,10 +606,13 @@ class ConfigurationWindow(Gtk.Window):
     def set_int(self, option_id, value, store=True):
         self.settings[option_id] = value
         if store:
-            self.xfconf_channel.set_int(option_id, value)
+            self.xfconf_settings.set_int(option_id, value)
 
     def get_string(self, option_id, default):
-        value = self.xfconf_channel.get_string(option_id, default)
+        if self.xfconf_settings.check_property(option_id):
+            value = self.xfconf_settings.get_string(option_id)
+        else:
+            value = default
         self.defaults[option_id] = default
         self.set_string(option_id, value, False)
         return value
@@ -545,7 +620,7 @@ class ConfigurationWindow(Gtk.Window):
     def set_string(self, option_id, value, store=True):
         self.settings[option_id] = value
         if store:
-            self.xfconf_channel.set_string(option_id, value)
+            self.xfconf_settings.set_string(option_id, value)
 
     def on_checkbutton_toggle(self, button, option_id):
         self.set_boolean(option_id, button.get_active())
@@ -596,7 +671,7 @@ class ConfigurationWindow(Gtk.Window):
                 color = self.defaults[widget_id]
                 widget.set_rgba(hex_to_rgba(color))
                 self.set_string(widget_id, color)
-        self.xfconf_channel.restore_defaults()
+        self.xfconf_settings.restore_defaults()
 
     def write_arguments(self):
         arguments = []
@@ -615,7 +690,7 @@ class ConfigurationWindow(Gtk.Window):
                         argument = argument.replace("%", str(value))
                     arguments.append(argument)
         value = " ".join(arguments)
-        self.xfconf_channel.set_string("arguments", value)
+        self.xfconf_settings.set_string("arguments", value)
 
 
 def get_slider_prefs(options):
@@ -648,12 +723,10 @@ def hex_to_rgba(value):
 
 
 def get_filename(theme):
-    tmp = [GLib.get_user_data_dir()] + GLib.get_system_data_dirs()
-    data_dirs = []
-    for data_dir in tmp:
-        if data_dir not in data_dirs:
-            if os.path.exists(data_dir):
-                data_dirs.append(data_dir)
+    user_data = [GLib.get_user_data_dir()]
+    system_data = GLib.get_system_data_dirs()
+
+    data_dirs = user_data + [i for i in system_data if i not in user_data]
 
     for config_file in ["%s/xscreensaver/config/%s.xml", "%s/applications/screensavers/%s.desktop"]:
         for data_dir in data_dirs:
@@ -673,10 +746,15 @@ def get_key(dct, keyname, default=""):
     return default
 
 
+def quit_window_cb(widget):
+    Xfconf.shutdown()
+    Gtk.main_quit()
+
+
 def configure(parsed):
     try:
         win = ConfigurationWindow(parsed)
-        win.connect("destroy", Gtk.main_quit)
+        win.connect("destroy", quit_window_cb)
         win.show_all()
         Gtk.main()
     except KeyboardInterrupt:
@@ -684,6 +762,10 @@ def configure(parsed):
 
 
 def show_fatal(primary, secondary):
+    Libxfce4util.textdomain('xfce4-screensaver',
+                            os.path.join(sys.prefix, '/share/locale'),
+                            'UTF-8')
+
     if not graphical:
         print("%s: %s" % (primary, secondary))
         sys.exit(1)
@@ -701,7 +783,10 @@ def show_fatal(primary, secondary):
 
 
 if __name__ == "__main__":
-    locale.textdomain('xfce4-screensaver')
+    Libxfce4util.textdomain('xfce4-screensaver',
+                            os.path.join(sys.prefix, '/share/locale'),
+                            'UTF-8')
+
     parser = argparse.ArgumentParser(
         description=_('Configure an individual screensaver'))
     parser.add_argument('screensaver', metavar='N', type=str, nargs='?',
@@ -731,12 +816,9 @@ if __name__ == "__main__":
     elif fname.endswith(".desktop") or saver == "xfce-blank":
         obj = DesktopScreensaverSettings(saver)
     else:
-        locale.textdomain('xfce4-screensaver')
         show_fatal(primary, _("Unrecognized file type: %s") % fname)
         sys.exit(1)
 
-    locale.textdomain('xfce4-screensaver')
-
     if not obj.load_from_file(fname):
         show_fatal(primary, _("Failed to process file: %s") % fname)
         sys.exit(1)


=====================================
src/xfce4-screensaver-dialog.c
=====================================
@@ -118,7 +118,7 @@ static void response_ok(void) {
     fflush(stdout);
 }
 
-static gboolean quit_response_ok(void) {
+static gboolean quit_response_ok(gpointer user_data) {
     response_ok();
     gtk_main_quit();
     return FALSE;
@@ -286,7 +286,8 @@ static gboolean auth_message_handler(GSAuthMessageStyle   style,
     return ret;
 }
 
-static gboolean reset_idle_cb(GSLockPlug* plug) {
+static gboolean reset_idle_cb(gpointer user_data) {
+    GSLockPlug* plug = user_data;
     gs_lock_plug_set_sensitive(plug, TRUE);
     gs_lock_plug_show_message(plug, NULL);
 
@@ -329,18 +330,19 @@ static void response_cb(GSLockPlug *plug,
     }
 }
 
-static gboolean response_request_quit(void) {
+static gboolean response_request_quit(gpointer user_data) {
     printf("REQUEST QUIT\n");
     fflush(stdout);
     return FALSE;
 }
 
-static gboolean quit_timeout_cb(gpointer data) {
+static gboolean quit_timeout_cb(gpointer user_data) {
     gtk_main_quit();
     return FALSE;
 }
 
-static gboolean auth_check_idle(GSLockPlug* plug) {
+static gboolean auth_check_idle(gpointer user_data) {
+    GSLockPlug* plug = user_data;
     gboolean     res;
     gboolean     again;
     static guint loop_counter = 0;
@@ -350,21 +352,21 @@ static gboolean auth_check_idle(GSLockPlug* plug) {
 
     if (res) {
         again = FALSE;
-        g_idle_add((GSourceFunc) quit_response_ok, NULL);
+        g_idle_add(quit_response_ok, NULL);
     } else {
         loop_counter++;
 
         if (loop_counter < MAX_FAILURES) {
             gs_debug ("Authentication failed, retrying (%u)", loop_counter);
-            g_timeout_add_seconds (3, (GSourceFunc) reset_idle_cb, plug);
+            g_timeout_add_seconds (3, reset_idle_cb, plug);
         } else {
             gs_debug ("Authentication failed, quitting (max failures)");
             again = FALSE;
             /* Don't quit immediately, but rather request that xfce4-screensaver
              * terminates us after it has finished the dialog shake. Time out
              * after 5 seconds and quit anyway if this doesn't happen though */
-            g_idle_add((GSourceFunc) response_request_quit, NULL);
-            g_timeout_add_seconds(5, (GSourceFunc) quit_timeout_cb, NULL);
+            g_idle_add(response_request_quit, NULL);
+            g_timeout_add_seconds(5, quit_timeout_cb, NULL);
         }
     }
 
@@ -376,7 +378,7 @@ static void show_cb(GtkWidget *widget,
     print_id(widget);
 }
 
-static gboolean popup_dialog_idle(void) {
+static gboolean popup_dialog_idle(gpointer user_data) {
     GtkWidget      *widget;
     GtkCssProvider *css_provider;
 
@@ -418,7 +420,7 @@ static gboolean popup_dialog_idle(void) {
     gtk_widget_realize(widget);
     gtk_widget_show(widget);
 
-    g_idle_add((GSourceFunc) auth_check_idle, widget);
+    g_idle_add(auth_check_idle, widget);
 
     gs_profile_end(NULL);
 
@@ -592,7 +594,7 @@ int main(int    argc,
 
     gs_debug_init(verbose, FALSE);
 
-    g_idle_add((GSourceFunc) popup_dialog_idle, NULL);
+    g_idle_add(popup_dialog_idle, NULL);
 
     gtk_main();
 


=====================================
src/xfce4-screensaver-preferences.c
=====================================
@@ -1838,7 +1838,7 @@ widget_set_best_visual (GtkWidget *widget) {
 }
 
 static gboolean
-setup_treeview_idle (gpointer data) {
+setup_treeview_idle (gpointer user_data) {
     GtkWidget *preview;
     GtkWidget *treeview;
 
@@ -2133,7 +2133,7 @@ configure_capplet (void) {
     g_signal_connect (fullscreen_preview_next, "clicked",
                       G_CALLBACK (fullscreen_preview_next_cb), NULL);
 
-    g_idle_add ((GSourceFunc)setup_treeview_idle, NULL);
+    g_idle_add (setup_treeview_idle, NULL);
 }
 
 static void


=====================================
src/xfce4-screensaver.desktop.in
=====================================
@@ -11,4 +11,4 @@ X-XFCE-Autostart-Notify=true
 X-XFCE-Bugzilla-Bugzilla=XFCE
 X-XFCE-Bugzilla-Product=xfce4-screensaver
 X-XFCE-Bugzilla-Component=general
-X-XFCE-Bugzilla-Version=0.1.11
+X-XFCE-Bugzilla-Version=4.16.0



View it on GitLab: https://salsa.debian.org/xfce-extras-team/xfce4-screensaver/-/commit/7af38fd239218afce504426830668ded5cb933ca

-- 
View it on GitLab: https://salsa.debian.org/xfce-extras-team/xfce4-screensaver/-/commit/7af38fd239218afce504426830668ded5cb933ca
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-xfce-commits/attachments/20210106/c01a9b03/attachment-0001.html>


More information about the Pkg-xfce-commits mailing list