Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package xfce4-settings for openSUSE:Factory 
checked in at 2026-03-04 21:11:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xfce4-settings (Old)
 and      /work/SRC/openSUSE:Factory/.xfce4-settings.new.561 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xfce4-settings"

Wed Mar  4 21:11:55 2026 rev:61 rq:1336555 version:4.20.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/xfce4-settings/xfce4-settings.changes    
2026-01-02 14:31:32.839953792 +0100
+++ /work/SRC/openSUSE:Factory/.xfce4-settings.new.561/xfce4-settings.changes   
2026-03-04 21:12:14.289831973 +0100
@@ -1,0 +2,12 @@
+Tue Mar  3 15:09:45 UTC 2026 - Manfred Hollstein <[email protected]>
+
+- Update to version 4.20.4:
+  * x11: displays: Check by EDID that output list has not changed
+  * wayland: displays: Add missing condition to act on new output
+  * x11: displays: Fix memory leak
+  * x11: display-settings: Fall back to output name when EDID is 
+    duplicated
+  * Translation Updates
+- Remove bcond_with git stuff which is no longer used here
+
+-------------------------------------------------------------------

Old:
----
  xfce4-settings-4.20.3.tar.bz2

New:
----
  xfce4-settings-4.20.4.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xfce4-settings.spec ++++++
--- /var/tmp/diff_new_pack.YdJ4dc/_old  2026-03-04 21:12:14.869855935 +0100
+++ /var/tmp/diff_new_pack.YdJ4dc/_new  2026-03-04 21:12:14.869855935 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package xfce4-settings
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,10 +16,8 @@
 #
 
 
-%bcond_with git
-
 Name:           xfce4-settings
-Version:        4.20.3
+Version:        4.20.4
 Release:        0
 Summary:        Tools for Managing Xfce Settings
 License:        GPL-2.0-only AND GPL-2.0-or-later
@@ -57,9 +55,6 @@
 %if 0%{?suse_version} > 1500
 BuildRequires:  xorgproto-devel
 %endif
-%if %{with git}
-BuildRequires:  xfce4-dev-tools
-%endif
 Requires:       %{name}-branding = %{version}
 Recommends:     %{name}-color
 Recommends:     %{name}-lang = %{version}
@@ -109,22 +104,11 @@
 %autosetup -p1
 
 %build
-%if %{with git}
-NOCONFIGURE=1 ./autogen.sh
-export CFLAGS="%{optflags} -D_FORTIFY_SOURCE=1"
-%configure \
-    --enable-maintainer-mode \
-    --with-helper-path-prefix=%{_libexecdir} \
-    --enable-sound-settings \
-    --enable-colord \
-    --enable-pluggable-dialogs
-%else
 %configure \
     --with-helper-path-prefix=%{_libexecdir} \
     --enable-sound-settings \
     --enable-colord \
     --enable-pluggable-dialogs
-%endif
 %make_build
 
 %install

++++++ xfce4-settings-4.20.3.tar.bz2 -> xfce4-settings-4.20.4.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfce4-settings-4.20.3/ChangeLog 
new/xfce4-settings-4.20.4/ChangeLog
--- old/xfce4-settings-4.20.3/ChangeLog 2025-12-29 18:18:34.000000000 +0100
+++ new/xfce4-settings-4.20.4/ChangeLog 2026-03-02 11:07:57.000000000 +0100
@@ -1,3 +1,160 @@
+commit 61089846a84e4fdb3f472cdd485d6ea9e4dfd224
+Author: Gaël Bonithon <[email protected]>
+Date:   Mon Mar 2 11:05:15 2026 +0100
+
+    Updates for release
+
+commit 457ec88f1b53e7716fde72dff16116f8fce42a45
+Author: Anonymous <[email protected]>
+Date:   Mon Feb 2 00:56:45 2026 +0100
+
+    I18n: Update translation it (100%).
+    
+    597 translated messages.
+    
+    Transifex (https://explore.transifex.com/xfce/).
+
+commit 28bfc35bdc645f0dc7747d89d99582d5fea16e3e
+Author: Anonymous <[email protected]>
+Date:   Fri Jan 30 12:56:02 2026 +0100
+
+    I18n: Update translation hr (91%).
+    
+    545 translated messages, 52 untranslated messages.
+    
+    Transifex (https://explore.transifex.com/xfce/).
+
+commit 91a5c8caa4f46e093232b02b3435c38abe722db0
+Author: Anonymous <[email protected]>
+Date:   Fri Jan 30 00:56:33 2026 +0100
+
+    I18n: Update translation es (100%).
+    
+    597 translated messages.
+    
+    Transifex (https://explore.transifex.com/xfce/).
+
+commit 1beab8b828828c733f56f3191687efd2127cf85c
+Author: Anonymous <[email protected]>
+Date:   Sat Jan 24 00:56:28 2026 +0100
+
+    I18n: Update translation lt (100%).
+    
+    597 translated messages.
+    
+    Transifex (https://explore.transifex.com/xfce/).
+
+commit f5c6ff3a71e1080dd092f3ec22d621ec5ef7e580
+Author: Anonymous <[email protected]>
+Date:   Fri Jan 23 00:56:43 2026 +0100
+
+    I18n: Update translation cs (100%).
+    
+    597 translated messages.
+    
+    Transifex (https://explore.transifex.com/xfce/).
+
+commit 7b1233263d3e402729d113411e1d7cf00fd67b2f
+Author: Anonymous <[email protected]>
+Date:   Wed Jan 21 00:55:39 2026 +0100
+
+    I18n: Update translation ko (100%).
+    
+    597 translated messages.
+    
+    Transifex (https://explore.transifex.com/xfce/).
+
+commit a13e726e1eeee3ad1f33f85c7ffcb53a2760c637
+Author: Gaël Bonithon <[email protected]>
+Date:   Sat Jan 10 19:41:10 2026 +0100
+
+    x11: displays: Check by EDID that output list has not changed
+    
+    Fixes: #629
+    (cherry picked from commit de79a8eb5d8f58fddf11ad5de754167c6592260f)
+
+commit 4365a27c6c2c76245e8e06f7111a55acf1ce2b34
+Author: Gaël Bonithon <[email protected]>
+Date:   Sat Jan 10 19:34:44 2026 +0100
+
+    wayland: displays: Add missing condition to act on new output
+    
+    There is an unlikely case where you can get there with the same number
+    of outputs.
+    
+    (cherry picked from commit 0871e7b6bb20a053da0e73babb4243d8029b0a4a)
+
+commit 06e17e91345e32b70cbb188b3052834880dd911e
+Author: Gaël Bonithon <[email protected]>
+Date:   Thu Jan 8 21:41:14 2026 +0100
+
+    x11: displays: Fix memory leak
+    
+    (cherry picked from commit 67949a16ceec0e6478341f23f2bcb87eb3c33298)
+
+commit ac8666b41701f9890820e3966ec59176bbfe0a1e
+Author: Anonymous <[email protected]>
+Date:   Sat Jan 10 12:56:40 2026 +0100
+
+    I18n: Update translation kk (100%).
+    
+    597 translated messages.
+    
+    Transifex (https://explore.transifex.com/xfce/).
+
+commit 192bad1ff78bcbb970ad7ffead227a565278713e
+Author: Anonymous <[email protected]>
+Date:   Thu Jan 8 00:56:26 2026 +0100
+
+    I18n: Update translation kab (68%).
+    
+    407 translated messages, 190 untranslated messages.
+    
+    Transifex (https://explore.transifex.com/xfce/).
+
+commit 597fa67e388ad966379a762e5801eceb9cf199dc
+Author: Gaël Bonithon <[email protected]>
+Date:   Sun Jan 4 23:05:42 2026 +0100
+
+    x11: display-settings: Fall back to output name when EDID is duplicated
+    
+    Unfortunately, this can happen on X11, but it seems less likely on
+    Wayland, so there's no need to weigh down the code unnecessarily. In
+    this case, the only option is to fall back on the output name as before
+    fbd0e50d, hoping that it will be stable from one session to the next,
+    otherwise we will encounter bug #528 again without being able to do
+    anything about it.
+    
+    Fixes: fbd0e50d4f584944ae2d66490ccc0f07fbbdf29d
+    Closes: #628
+    (cherry picked from commit e84b0e78f1cccb781c9025001188c0b7144d000c)
+
+commit af74697ddbb53efef1d66cfae602d8048eedbb89
+Author: Anonymous <[email protected]>
+Date:   Wed Jan 7 12:56:35 2026 +0100
+
+    I18n: Update translation sv (100%).
+    
+    597 translated messages.
+    
+    Transifex (https://explore.transifex.com/xfce/).
+
+commit 3f23ced8cadb855f9558c74edec55e106a28bfaa
+Author: Anonymous <[email protected]>
+Date:   Wed Jan 7 12:56:35 2026 +0100
+
+    I18n: Update translation id (100%).
+    
+    597 translated messages.
+    
+    Transifex (https://explore.transifex.com/xfce/).
+
+commit cd610b8caec3e61818f25509d5f61c605e92d3b6
+Author: Gaël Bonithon <[email protected]>
+Date:   Mon Dec 29 18:26:43 2025 +0100
+
+    Back to development
+
 commit 7f32748137a14e1dfb296590545e7c35e87071fa
 Author: Gaël Bonithon <[email protected]>
 Date:   Mon Dec 29 18:15:36 2025 +0100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfce4-settings-4.20.3/NEWS 
new/xfce4-settings-4.20.4/NEWS
--- old/xfce4-settings-4.20.3/NEWS      2025-12-29 18:15:30.000000000 +0100
+++ new/xfce4-settings-4.20.4/NEWS      2026-03-02 11:05:08.000000000 +0100
@@ -1,3 +1,14 @@
+4.20.4 (2026-03-02)
+======
+- x11: displays: Check by EDID that output list has not changed
+- wayland: displays: Add missing condition to act on new output
+- x11: displays: Fix memory leak
+- x11: display-settings: Fall back to output name when EDID is 
+duplicated
+- Translation Updates:
+  Croatian, Czech, Indonesian, Italian, Kabyle, Kazakh, Korean,
+  Lithuanian, Spanish, Swedish
+
 4.20.3 (2025-12-29)
 ======
 - I18n: Update po/LINGUAS list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfce4-settings-4.20.3/common/xfce-randr.c 
new/xfce4-settings-4.20.4/common/xfce-randr.c
--- old/xfce4-settings-4.20.3/common/xfce-randr.c       2025-12-29 
18:13:09.000000000 +0100
+++ new/xfce4-settings-4.20.4/common/xfce-randr.c       2026-03-02 
11:02:21.000000000 +0100
@@ -388,7 +388,8 @@
 xfce_randr_save_output (XfceRandr *randr,
                         const gchar *scheme,
                         XfconfChannel *channel,
-                        guint output)
+                        guint output,
+                        gboolean duplicate)
 {
     gchar property[512];
     gchar *str_value;
@@ -415,6 +416,9 @@
     g_snprintf (property, sizeof (property), "/%s/%s/EDID", scheme,
                 randr->priv->output_info[output]->name);
     xfconf_channel_set_string (channel, property, randr->priv->edid[output]);
+    g_snprintf (property, sizeof (property), "/%s/%s/DuplicateEDID", scheme,
+                randr->priv->output_info[output]->name);
+    xfconf_channel_set_bool (channel, property, duplicate);
 
     if (mode == NULL)
         return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfce4-settings-4.20.3/common/xfce-randr.h 
new/xfce4-settings-4.20.4/common/xfce-randr.h
--- old/xfce4-settings-4.20.3/common/xfce-randr.h       2025-09-22 
17:46:48.000000000 +0200
+++ new/xfce4-settings-4.20.4/common/xfce-randr.h       2026-01-07 
18:48:41.000000000 +0100
@@ -90,7 +90,8 @@
 xfce_randr_save_output (XfceRandr *randr,
                         const gchar *scheme,
                         XfconfChannel *channel,
-                        guint output);
+                        guint output,
+                        gboolean duplicate);
 
 void
 xfce_randr_load (XfceRandr *randr,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfce4-settings-4.20.3/configure 
new/xfce4-settings-4.20.4/configure
--- old/xfce4-settings-4.20.3/configure 2025-12-29 18:17:24.000000000 +0100
+++ new/xfce4-settings-4.20.4/configure 2026-03-02 11:06:40.000000000 +0100
@@ -1,11 +1,11 @@
 #! /bin/sh
 # From configure.ac .
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.72 for xfce4-settings 4.20.3.
+# Generated by GNU Autoconf 2.72 for xfce4-settings 4.20.4.
 #
 # Report bugs to <https://gitlab.xfce.org/xfce/xfce4-settings>.
 #
-# Copyright (c) 2008-2025
+# Copyright (c) 2008-2026
 #         The Xfce development team. All rights reserved.
 #
 #
@@ -618,8 +618,8 @@
 # Identity of this package.
 PACKAGE_NAME='xfce4-settings'
 PACKAGE_TARNAME='xfce4-settings'
-PACKAGE_VERSION='4.20.3'
-PACKAGE_STRING='xfce4-settings 4.20.3'
+PACKAGE_VERSION='4.20.4'
+PACKAGE_STRING='xfce4-settings 4.20.4'
 PACKAGE_BUGREPORT='https://gitlab.xfce.org/xfce/xfce4-settings'
 PACKAGE_URL=''
 
@@ -1554,7 +1554,7 @@
   # 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-settings 4.20.3 to adapt to many kinds of systems.
+'configure' configures xfce4-settings 4.20.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1625,7 +1625,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of xfce4-settings 4.20.3:";;
+     short | recursive ) echo "Configuration of xfce4-settings 4.20.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1803,14 +1803,14 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-xfce4-settings configure 4.20.3
+xfce4-settings configure 4.20.4
 generated by GNU Autoconf 2.72
 
 Copyright (C) 2023 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 
-Copyright (c) 2008-2025
+Copyright (c) 2008-2026
         The Xfce development team. All rights reserved.
 _ACEOF
   exit
@@ -2113,7 +2113,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by xfce4-settings $as_me 4.20.3, which was
+It was created by xfce4-settings $as_me 4.20.4, which was
 generated by GNU Autoconf 2.72.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -2892,7 +2892,7 @@
 
 
 
-COPYRIGHT_YEAR=2025
+COPYRIGHT_YEAR=2026
 
 printf "%s\n" "#define COPYRIGHT_YEAR \"$COPYRIGHT_YEAR\"" >>confdefs.h
 
@@ -3602,7 +3602,7 @@
 
 # Define the identity of the package.
  PACKAGE='xfce4-settings'
- VERSION='4.20.3'
+ VERSION='4.20.4'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -28896,7 +28896,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by xfce4-settings $as_me 4.20.3, which was
+This file was extended by xfce4-settings $as_me 4.20.4, which was
 generated by GNU Autoconf 2.72.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -28964,7 +28964,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-xfce4-settings config.status 4.20.3
+xfce4-settings config.status 4.20.4
 configured by $0, generated by GNU Autoconf 2.72,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfce4-settings-4.20.3/configure.ac 
new/xfce4-settings-4.20.4/configure.ac
--- old/xfce4-settings-4.20.3/configure.ac      2025-12-29 18:15:23.000000000 
+0100
+++ new/xfce4-settings-4.20.4/configure.ac      2026-03-02 11:05:00.000000000 
+0100
@@ -9,8 +9,8 @@
 dnl ***************************
 dnl *** Version information ***
 dnl ***************************
-XDT_VERSION_INIT([4.20.3])
-m4_define([copyright_year], [2025])
+XDT_VERSION_INIT([4.20.4])
+m4_define([copyright_year], [2026])
 
 dnl minimum required versions
 m4_define([glib_min_version], [2.72.0])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/xfce4-settings-4.20.3/dialogs/display-settings/display-settings-x11.c 
new/xfce4-settings-4.20.4/dialogs/display-settings/display-settings-x11.c
--- old/xfce4-settings-4.20.3/dialogs/display-settings/display-settings-x11.c   
2025-12-29 18:13:09.000000000 +0100
+++ new/xfce4-settings-4.20.4/dialogs/display-settings/display-settings-x11.c   
2026-03-02 11:02:21.000000000 +0100
@@ -576,10 +576,20 @@
 {
     XfceRandr *randr = XFCE_DISPLAY_SETTINGS_X11 (settings)->randr;
     XfconfChannel *channel = xfce_display_settings_get_channel (settings);
+    GHashTable *edids = g_hash_table_new (g_str_hash, g_str_equal);
     for (guint n = 0; n < randr->noutput; n++)
     {
-        xfce_randr_save_output (randr, scheme, channel, n);
+        const gchar *edid = xfce_randr_get_edid (randr, n);
+        gpointer duplicate = GINT_TO_POINTER (g_hash_table_contains (edids, 
edid));
+        g_hash_table_insert (edids, (gpointer) edid, duplicate);
     }
+    for (guint n = 0; n < randr->noutput; n++)
+    {
+        const gchar *edid = xfce_randr_get_edid (randr, n);
+        gboolean duplicate = GPOINTER_TO_INT (g_hash_table_lookup (edids, 
edid));
+        xfce_randr_save_output (randr, scheme, channel, n, duplicate);
+    }
+    g_hash_table_destroy (edids);
 }
 
 
Binary files old/xfce4-settings-4.20.3/po/cs.gmo and 
new/xfce4-settings-4.20.4/po/cs.gmo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfce4-settings-4.20.3/po/cs.po 
new/xfce4-settings-4.20.4/po/cs.po
--- old/xfce4-settings-4.20.3/po/cs.po  2025-12-29 18:13:10.000000000 +0100
+++ new/xfce4-settings-4.20.4/po/cs.po  2026-03-02 11:02:22.000000000 +0100
@@ -5,6 +5,7 @@
 # 
 # Translators:
 # Xfce Bot <[email protected]>, 2025
+# Michal Várady <[email protected]>, 2026
 # 
 #, fuzzy
 msgid ""
@@ -13,7 +14,7 @@
 "Report-Msgid-Bugs-To: https://gitlab.xfce.org/\n";
 "POT-Creation-Date: 2025-11-10 00:53+0100\n"
 "PO-Revision-Date: 2025-02-14 11:29+0000\n"
-"Last-Translator: Xfce Bot <[email protected]>, 2025\n"
+"Last-Translator: Michal Várady <[email protected]>, 2026\n"
 "Language-Team: Czech (https://app.transifex.com/xfce/teams/16840/cs/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -106,6 +107,9 @@
 "locked in the pressed state if they are pressed twice in a row, until "
 "pressed again once"
 msgstr ""
+"Vyberete-li tuto volbu, klávesy modifikátorů (Control, Alt a Shift) zůstanou"
+" ve stisknutém stavu, stisknete-li je dvakrát za sebou, až do jejich "
+"opětovného stisknutí"
 
 #: common/resources/accessibility-dialog.glade:392
 msgid "Disable sticky keys if two keys are _pressed"
Binary files old/xfce4-settings-4.20.3/po/es.gmo and 
new/xfce4-settings-4.20.4/po/es.gmo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfce4-settings-4.20.3/po/es.po 
new/xfce4-settings-4.20.4/po/es.po
--- old/xfce4-settings-4.20.3/po/es.po  2025-12-29 18:13:10.000000000 +0100
+++ new/xfce4-settings-4.20.4/po/es.po  2026-03-02 11:02:22.000000000 +0100
@@ -5,6 +5,7 @@
 # 
 # Translators:
 # Xfce Bot <[email protected]>, 2025
+# Ulices, 2026
 # 
 #, fuzzy
 msgid ""
@@ -13,7 +14,7 @@
 "Report-Msgid-Bugs-To: https://gitlab.xfce.org/\n";
 "POT-Creation-Date: 2025-11-10 00:53+0100\n"
 "PO-Revision-Date: 2025-02-14 11:29+0000\n"
-"Last-Translator: Xfce Bot <[email protected]>, 2025\n"
+"Last-Translator: Ulices, 2026\n"
 "Language-Team: Spanish (https://app.transifex.com/xfce/teams/16840/es/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -110,6 +111,9 @@
 "locked in the pressed state if they are pressed twice in a row, until "
 "pressed again once"
 msgstr ""
+"Cuando se seleccionan, las teclas modificadoras (como Control, Alt y Máyus) "
+"permanecerán bloqueadas en el estado presionado si se presionan dos veces "
+"seguidas, hasta que se presionen una vez más."
 
 #: common/resources/accessibility-dialog.glade:392
 msgid "Disable sticky keys if two keys are _pressed"
Binary files old/xfce4-settings-4.20.3/po/hr.gmo and 
new/xfce4-settings-4.20.4/po/hr.gmo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfce4-settings-4.20.3/po/hr.po 
new/xfce4-settings-4.20.4/po/hr.po
--- old/xfce4-settings-4.20.3/po/hr.po  2025-12-29 18:13:10.000000000 +0100
+++ new/xfce4-settings-4.20.4/po/hr.po  2026-03-02 11:02:22.000000000 +0100
@@ -5,6 +5,7 @@
 # 
 # Translators:
 # Xfce Bot <[email protected]>, 2025
+# Ivica  Kolić <[email protected]>, 2026
 # 
 #, fuzzy
 msgid ""
@@ -13,7 +14,7 @@
 "Report-Msgid-Bugs-To: https://gitlab.xfce.org/\n";
 "POT-Creation-Date: 2025-11-10 00:53+0100\n"
 "PO-Revision-Date: 2025-02-14 11:29+0000\n"
-"Last-Translator: Xfce Bot <[email protected]>, 2025\n"
+"Last-Translator: Ivica  Kolić <[email protected]>, 2026\n"
 "Language-Team: Croatian (https://app.transifex.com/xfce/teams/16840/hr/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -601,7 +602,7 @@
 
 #: common/resources/confirmation-dialog.glade:13
 msgid "<b><big>Would you like to keep this configuration?</big></b>"
-msgstr ""
+msgstr "<b><big>Želite li zadržati ovu konfiguraciju?</big></b>"
 
 #: common/resources/confirmation-dialog.glade:15
 msgid ""
Binary files old/xfce4-settings-4.20.3/po/id.gmo and 
new/xfce4-settings-4.20.4/po/id.gmo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfce4-settings-4.20.3/po/id.po 
new/xfce4-settings-4.20.4/po/id.po
--- old/xfce4-settings-4.20.3/po/id.po  2025-12-29 18:13:10.000000000 +0100
+++ new/xfce4-settings-4.20.4/po/id.po  2026-03-02 11:02:22.000000000 +0100
@@ -5,6 +5,7 @@
 # 
 # Translators:
 # Xfce Bot <[email protected]>, 2025
+# Arif Budiman <[email protected]>, 2026
 # 
 #, fuzzy
 msgid ""
@@ -13,7 +14,7 @@
 "Report-Msgid-Bugs-To: https://gitlab.xfce.org/\n";
 "POT-Creation-Date: 2025-11-10 00:53+0100\n"
 "PO-Revision-Date: 2025-02-14 11:29+0000\n"
-"Last-Translator: Xfce Bot <[email protected]>, 2025\n"
+"Last-Translator: Arif Budiman <[email protected]>, 2026\n"
 "Language-Team: Indonesian (https://app.transifex.com/xfce/teams/16840/id/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -106,6 +107,9 @@
 "locked in the pressed state if they are pressed twice in a row, until "
 "pressed again once"
 msgstr ""
+"Jika dipilih, tombol pengubah (seperti Control, Alt, dan Shift) akan tetap "
+"terkunci dalam keadaan ditekan jika ditekan dua kali berturut-turut, sampai "
+"ditekan lagi satu kali"
 
 #: common/resources/accessibility-dialog.glade:392
 msgid "Disable sticky keys if two keys are _pressed"
@@ -336,7 +340,7 @@
 
 #: common/resources/appearance-dialog.glade:238
 msgid "Set matching <a href=\"xfwm4-settings:\">Xfwm4 theme</a> if there is 
one"
-msgstr ""
+msgstr "Atur <a href=\"xfwm4-settings:\">tema Xfwm4</a> yang cocok jika ada"
 
 #: common/resources/appearance-dialog.glade:272
 msgid "St_yle"
@@ -632,11 +636,11 @@
 
 #: common/resources/display-dialog.glade:65
 msgid "When a display is connected"
-msgstr ""
+msgstr "Saat layar terhubung"
 
 #: common/resources/display-dialog.glade:69
 msgid "When a display is disconnected"
-msgstr ""
+msgstr "Saat layar terputus"
 
 #: common/resources/display-dialog.glade:73
 msgid "Always"
@@ -660,7 +664,7 @@
 
 #: common/resources/display-dialog.glade:157
 msgid "The primary display can be configured to show:"
-msgstr ""
+msgstr "Layar utama dapat dikonfigurasi untuk menampilkan:"
 
 #: common/resources/display-dialog.glade:171
 #: dialogs/display-settings/main.c:1675
@@ -752,11 +756,11 @@
 
 #: common/resources/display-dialog.glade:837
 msgid "First try to automatically enable a profile:"
-msgstr ""
+msgstr "Pertama coba aktifkan profil secara otomatis:"
 
 #: common/resources/display-dialog.glade:869
 msgid "When a display is connected:"
-msgstr ""
+msgstr "Saat layar terhubung:"
 
 #: common/resources/display-dialog.glade:882
 msgid "Show popup windows to identify displays"
@@ -785,19 +789,19 @@
 
 #: common/resources/minimal-display-dialog.glade:16
 msgid "Extend right"
-msgstr ""
+msgstr "Perluas ke kanan"
 
 #: common/resources/minimal-display-dialog.glade:19
 msgid "Extend left"
-msgstr ""
+msgstr "Perluas ke kiri"
 
 #: common/resources/minimal-display-dialog.glade:22
 msgid "Extend up"
-msgstr ""
+msgstr "Perluas ke atas"
 
 #: common/resources/minimal-display-dialog.glade:25
 msgid "Extend down"
-msgstr ""
+msgstr "Perluas ke bawah"
 
 #: common/resources/minimal-display-dialog.glade:37
 msgid "Displays"
@@ -974,11 +978,11 @@
 
 #: common/resources/mouse-dialog.glade:67
 msgid "Use bottom areas as left, middle or right buttons"
-msgstr ""
+msgstr "Gunakan area bawah sebagai tombol kiri, tengah, atau kanan"
 
 #: common/resources/mouse-dialog.glade:71
 msgid "Click with 1, 2 or 3 fingers as a left, right, or middle click"
-msgstr ""
+msgstr "Klik dengan 1, 2, atau 3 jari sebagai klik kiri, kanan, atau tengah"
 
 #: common/resources/mouse-dialog.glade:92
 msgid "Disabled"
@@ -1047,13 +1051,16 @@
 
 #: common/resources/mouse-dialog.glade:372
 msgid "Allow high _resolution scrolling (experimental)"
-msgstr ""
+msgstr "Izinkan pengguliran _resolusi tinggi (eksperimental)"
 
 #: common/resources/mouse-dialog.glade:376
 msgid ""
 "Only supported on some mice (mostly Logitech) and requires driver support. "
 "On supported devices makes scrolling more precise."
 msgstr ""
+"Hanya didukung pada beberapa mouse (kebanyakan Logitech) dan memerlukan "
+"dukungan driver. Pada perangkat yang didukung, pengguliran menjadi lebih "
+"presisi."
 
 #: common/resources/mouse-dialog.glade:395
 msgid "Buttons"
@@ -1095,7 +1102,7 @@
 
 #: common/resources/mouse-dialog.glade:502
 msgid "Adaptive pointer acceleration"
-msgstr ""
+msgstr "Akselerasi penunjuk adaptif"
 
 #: common/resources/mouse-dialog.glade:505
 msgid ""
@@ -1103,6 +1110,9 @@
 "current speed of the device into account when deciding on acceleration. "
 "Custom acceleration profile is not supported via xfce4-settings."
 msgstr ""
+"Mengalihkan antara profil akselerasi adaptif dan datar. Adaptif "
+"memperhitungkan kecepatan perangkat saat ini saat memutuskan akselerasi. "
+"Profil akselerasi kustom tidak didukung melalui xfce4-settings."
 
 #: common/resources/mouse-dialog.glade:525
 msgid "Pointer Speed"
@@ -1133,7 +1143,7 @@
 
 #: common/resources/mouse-dialog.glade:682
 msgid "Click m_ethod:"
-msgstr ""
+msgstr "Metode k_lik:"
 
 #: common/resources/mouse-dialog.glade:767
 msgid "Scrolling _mode:"
@@ -1329,7 +1339,7 @@
 
 #: dialogs/appearance-settings/main.c:338
 msgid "Failed to display Xfwm4 Settings"
-msgstr ""
+msgstr "Gagal menampilkan Pengaturan Xfwm4"
 
 #. If the theme has no cache, mention this in the tooltip
 #: dialogs/appearance-settings/main.c:632
@@ -1338,12 +1348,15 @@
 "Warning: this icon theme has no cache file. You can create this by running "
 "<i>gtk-update-icon-cache -f -t %s/</i> in a terminal emulator."
 msgstr ""
+"Peringatan: tema ikon ini tidak memiliki file cache. Anda dapat membuatnya "
+"dengan menjalankan <i>gtk-update-icon-cache -f -t %s/</i> di emulator "
+"terminal."
 
 #. If the theme is known to be incomplete (does not follow fd.org standards),
 #. mention this in the tooltip
 #: dialogs/appearance-settings/main.c:639
 msgid "Warning: this icon theme is incomplete. Some icons will be missing."
-msgstr ""
+msgstr "Peringatan: tema ikon ini tidak lengkap. Beberapa ikon akan hilang."
 
 #. These actually are no full themes by purpose
 #: dialogs/appearance-settings/main.c:644
@@ -1351,10 +1364,12 @@
 "Warning: this icon theme is incomplete. It only provides a base set of icons"
 " from which other themes can inherit."
 msgstr ""
+"Peringatan: tema ikon ini tidak lengkap. Ini hanya menyediakan sekumpulan "
+"ikon dasar yang dapat diwarisi oleh tema lain."
 
 #: dialogs/appearance-settings/main.c:1260
 msgid "File is too large, installation aborted"
-msgstr ""
+msgstr "File terlalu besar, instalasi dibatalkan"
 
 #: dialogs/appearance-settings/main.c:1265
 msgid "Failed to create temporary directory"
@@ -1370,7 +1385,7 @@
 
 #: dialogs/appearance-settings/main.c:1280
 msgid "Not a valid theme package"
-msgstr ""
+msgstr "Bukan paket tema yang valid"
 
 #: dialogs/appearance-settings/main.c:1285
 #, c-format
@@ -1565,7 +1580,7 @@
 #: dialogs/color-settings/main.c:516
 #, c-format
 msgid "Add Color Profile to %s"
-msgstr ""
+msgstr "Tambahkan Profil Warna ke %s"
 
 #: dialogs/color-settings/main.c:516
 msgid "Device"
@@ -1677,7 +1692,7 @@
 #, c-format
 msgid "%d Xfce Panel"
 msgid_plural "%d Xfce Panels"
-msgstr[0] ""
+msgstr[0] "%d Panel Xfce"
 
 #: dialogs/display-settings/main.c:2486
 msgid ""
@@ -1738,6 +1753,7 @@
 msgid ""
 "Your compositor does not seem to support the wlr-output-management protocol"
 msgstr ""
+"Kompositor Anda tampaknya tidak mendukung protokol wlr-output-management"
 
 #. Set dialog title and icon
 #: dialogs/keyboard-settings/command-dialog.c:109
@@ -1929,6 +1945,8 @@
 "Open <i>%s</i>, other files of type \"%s\", and %d other selected MIME types"
 " with:"
 msgstr[0] ""
+"Buka <i>%s</i>, file lain bertipe \"%s\", dan %d tipe MIME lain yang dipilih"
+" dengan:"
 
 #: dialogs/mime-settings/xfce-mime-chooser.c:659
 #, c-format
@@ -2295,7 +2313,7 @@
 #, c-format
 msgid "%d MIME type selected"
 msgid_plural "%d MIME types selected"
-msgstr[0] ""
+msgstr[0] "%d tipe MIME ditemukan"
 
 #: dialogs/mime-settings/xfce-mime-window.c:1177
 msgid ""
@@ -2339,6 +2357,7 @@
 #: dialogs/mime-settings/xfce4-file-manager.desktop.in:10
 msgid "file;manager;explorer;browse;filesystem;directory;folder;xfce;"
 msgstr ""
+"file;pengelola;penjelajah;jelajah;sistem berkas;direktori;folder;xfce;"
 
 #: dialogs/mime-settings/xfce4-file-manager.desktop.in:15
 msgid "Browse the file system"
@@ -2346,7 +2365,7 @@
 
 #: dialogs/mime-settings/xfce4-mail-reader.desktop.in:10
 msgid "email;mail;inbox;message;communication;"
-msgstr ""
+msgstr "email;surat;kotak masuk;pesan;komunikasi;"
 
 #: dialogs/mime-settings/xfce4-mail-reader.desktop.in:15
 msgid "Read your email"
@@ -2354,7 +2373,7 @@
 
 #: dialogs/mime-settings/xfce4-terminal-emulator.desktop.in:10
 msgid "terminal;command line;shell;console;xfce;"
-msgstr ""
+msgstr "terminal;baris perintah;shell;konsol;xfce;"
 
 #: dialogs/mime-settings/xfce4-terminal-emulator.desktop.in:14
 msgid "Use the command line"
@@ -2362,7 +2381,7 @@
 
 #: dialogs/mime-settings/xfce4-web-browser.desktop.in:10
 msgid "internet;web;browser;surf;explore;xfce;"
-msgstr ""
+msgstr "internet;web;browser;selancar;jelajah;xfce;"
 
 #: dialogs/mime-settings/xfce4-web-browser.desktop.in:15
 msgid "Browse the web"
@@ -2929,4 +2948,4 @@
 
 #: xfsettingsd/xfsettingsd.desktop.in:13
 msgid "settings;daemon;xfce;configuration;preferences;system;manage;"
-msgstr ""
+msgstr "pengaturan;daemon;xfce;konfigurasi;preferensi;sistem;kelola;"
Binary files old/xfce4-settings-4.20.3/po/it.gmo and 
new/xfce4-settings-4.20.4/po/it.gmo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfce4-settings-4.20.3/po/it.po 
new/xfce4-settings-4.20.4/po/it.po
--- old/xfce4-settings-4.20.3/po/it.po  2025-12-29 18:13:10.000000000 +0100
+++ new/xfce4-settings-4.20.4/po/it.po  2026-03-02 11:02:22.000000000 +0100
@@ -5,6 +5,7 @@
 # 
 # Translators:
 # Xfce Bot <[email protected]>, 2025
+# Emanuele Petriglia <[email protected]>, 2026
 # 
 #, fuzzy
 msgid ""
@@ -13,7 +14,7 @@
 "Report-Msgid-Bugs-To: https://gitlab.xfce.org/\n";
 "POT-Creation-Date: 2025-11-10 00:53+0100\n"
 "PO-Revision-Date: 2025-02-14 11:29+0000\n"
-"Last-Translator: Xfce Bot <[email protected]>, 2025\n"
+"Last-Translator: Emanuele Petriglia <[email protected]>, 2026\n"
 "Language-Team: Italian (https://app.transifex.com/xfce/teams/16840/it/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -106,6 +107,8 @@
 "locked in the pressed state if they are pressed twice in a row, until "
 "pressed again once"
 msgstr ""
+"Se attiva, premendo due volte di seguito un tasto modificatore (Ctrl, Alt, "
+"Maiusc) questo rimane bloccato finché non viene premuto di nuovo."
 
 #: common/resources/accessibility-dialog.glade:392
 msgid "Disable sticky keys if two keys are _pressed"
Binary files old/xfce4-settings-4.20.3/po/kab.gmo and 
new/xfce4-settings-4.20.4/po/kab.gmo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfce4-settings-4.20.3/po/kab.po 
new/xfce4-settings-4.20.4/po/kab.po
--- old/xfce4-settings-4.20.3/po/kab.po 2025-12-29 18:13:10.000000000 +0100
+++ new/xfce4-settings-4.20.4/po/kab.po 2026-03-02 11:02:22.000000000 +0100
@@ -6,6 +6,7 @@
 # Translators:
 # Xfce Bot <[email protected]>, 2025
 # ZiriSut, 2025
+# Massi aqvayli, 2026
 # 
 #, fuzzy
 msgid ""
@@ -14,7 +15,7 @@
 "Report-Msgid-Bugs-To: https://gitlab.xfce.org/\n";
 "POT-Creation-Date: 2025-11-10 00:53+0100\n"
 "PO-Revision-Date: 2025-02-14 11:29+0000\n"
-"Last-Translator: ZiriSut, 2025\n"
+"Last-Translator: Massi aqvayli, 2026\n"
 "Language-Team: Kabyle (https://app.transifex.com/xfce/teams/16840/kab/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -2806,7 +2807,7 @@
 
 #: xfsettingsd/main.c:95
 msgid "Do not wait for a window manager on startup"
-msgstr ""
+msgstr "Ur ttraǧu ara amsefrak n yisfuyla di tnekra"
 
 #: xfsettingsd/main.c:96
 msgid "Replace running xsettings daemon (if any)"
Binary files old/xfce4-settings-4.20.3/po/kk.gmo and 
new/xfce4-settings-4.20.4/po/kk.gmo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfce4-settings-4.20.3/po/kk.po 
new/xfce4-settings-4.20.4/po/kk.po
--- old/xfce4-settings-4.20.3/po/kk.po  2025-12-29 18:13:10.000000000 +0100
+++ new/xfce4-settings-4.20.4/po/kk.po  2026-03-02 11:02:22.000000000 +0100
@@ -5,6 +5,7 @@
 # 
 # Translators:
 # Xfce Bot <[email protected]>, 2025
+# Baurzhan Muftakhidinov <[email protected]>, 2026
 # 
 #, fuzzy
 msgid ""
@@ -13,7 +14,7 @@
 "Report-Msgid-Bugs-To: https://gitlab.xfce.org/\n";
 "POT-Creation-Date: 2025-11-10 00:53+0100\n"
 "PO-Revision-Date: 2025-02-14 11:29+0000\n"
-"Last-Translator: Xfce Bot <[email protected]>, 2025\n"
+"Last-Translator: Baurzhan Muftakhidinov <[email protected]>, 2026\n"
 "Language-Team: Kazakh (https://app.transifex.com/xfce/teams/16840/kk/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -106,6 +107,9 @@
 "locked in the pressed state if they are pressed twice in a row, until "
 "pressed again once"
 msgstr ""
+"Таңдалған кезде, түрлендіргіш пернелер (мысалы, Control, Alt және Shift) "
+"қатарынан екі рет басылса, қайтадан бір рет басылғанға дейін басулы күйде "
+"құлыпталып қалады."
 
 #: common/resources/accessibility-dialog.glade:392
 msgid "Disable sticky keys if two keys are _pressed"
Binary files old/xfce4-settings-4.20.3/po/ko.gmo and 
new/xfce4-settings-4.20.4/po/ko.gmo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfce4-settings-4.20.3/po/ko.po 
new/xfce4-settings-4.20.4/po/ko.po
--- old/xfce4-settings-4.20.3/po/ko.po  2025-12-29 18:13:10.000000000 +0100
+++ new/xfce4-settings-4.20.4/po/ko.po  2026-03-02 11:02:22.000000000 +0100
@@ -5,7 +5,7 @@
 # 
 # Translators:
 # Xfce Bot <[email protected]>, 2025
-# Seong-ho Cho <[email protected]>, 2025
+# Seong-ho Cho <[email protected]>, 2026
 # 
 #, fuzzy
 msgid ""
@@ -14,7 +14,7 @@
 "Report-Msgid-Bugs-To: https://gitlab.xfce.org/\n";
 "POT-Creation-Date: 2025-11-10 00:53+0100\n"
 "PO-Revision-Date: 2025-02-14 11:29+0000\n"
-"Last-Translator: Seong-ho Cho <[email protected]>, 2025\n"
+"Last-Translator: Seong-ho Cho <[email protected]>, 2026\n"
 "Language-Team: Korean (https://app.transifex.com/xfce/teams/16840/ko/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -103,6 +103,8 @@
 "locked in the pressed state if they are pressed twice in a row, until "
 "pressed again once"
 msgstr ""
+"이 항목을 선택하면, 조합 키 (Ctrl, Alt, Shift) 키를 두번 이상 눌렀을 때 한번 더 누르기 전까지는 잠근 상태를 "
+"유지합니다"
 
 #: common/resources/accessibility-dialog.glade:392
 msgid "Disable sticky keys if two keys are _pressed"
Binary files old/xfce4-settings-4.20.3/po/lt.gmo and 
new/xfce4-settings-4.20.4/po/lt.gmo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfce4-settings-4.20.3/po/lt.po 
new/xfce4-settings-4.20.4/po/lt.po
--- old/xfce4-settings-4.20.3/po/lt.po  2025-12-29 18:13:10.000000000 +0100
+++ new/xfce4-settings-4.20.4/po/lt.po  2026-03-02 11:02:22.000000000 +0100
@@ -5,6 +5,7 @@
 # 
 # Translators:
 # Xfce Bot <[email protected]>, 2025
+# Moo, 2026
 # 
 #, fuzzy
 msgid ""
@@ -13,7 +14,7 @@
 "Report-Msgid-Bugs-To: https://gitlab.xfce.org/\n";
 "POT-Creation-Date: 2025-11-10 00:53+0100\n"
 "PO-Revision-Date: 2025-02-14 11:29+0000\n"
-"Last-Translator: Xfce Bot <[email protected]>, 2025\n"
+"Last-Translator: Moo, 2026\n"
 "Language-Team: Lithuanian (https://app.transifex.com/xfce/teams/16840/lt/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -106,6 +107,9 @@
 "locked in the pressed state if they are pressed twice in a row, until "
 "pressed again once"
 msgstr ""
+"Pasirinkus, modifikavimo klavišai (tokie kaip Control, Alt ir Shift) liks "
+"užrakinti nuspaustoje būsenoje tuo atveju, jei bus paspausti du kartus iš "
+"eilės, iki tol, kol vėl bus paspausti vieną kartą"
 
 #: common/resources/accessibility-dialog.glade:392
 msgid "Disable sticky keys if two keys are _pressed"
Binary files old/xfce4-settings-4.20.3/po/sv.gmo and 
new/xfce4-settings-4.20.4/po/sv.gmo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfce4-settings-4.20.3/po/sv.po 
new/xfce4-settings-4.20.4/po/sv.po
--- old/xfce4-settings-4.20.3/po/sv.po  2025-12-29 18:13:10.000000000 +0100
+++ new/xfce4-settings-4.20.4/po/sv.po  2026-03-02 11:02:22.000000000 +0100
@@ -5,6 +5,7 @@
 # 
 # Translators:
 # Xfce Bot <[email protected]>, 2025
+# Luna Jernberg <[email protected]>, 2026
 # 
 #, fuzzy
 msgid ""
@@ -13,7 +14,7 @@
 "Report-Msgid-Bugs-To: https://gitlab.xfce.org/\n";
 "POT-Creation-Date: 2025-11-10 00:53+0100\n"
 "PO-Revision-Date: 2025-02-14 11:29+0000\n"
-"Last-Translator: Xfce Bot <[email protected]>, 2025\n"
+"Last-Translator: Luna Jernberg <[email protected]>, 2026\n"
 "Language-Team: Swedish (https://app.transifex.com/xfce/teams/16840/sv/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -106,6 +107,9 @@
 "locked in the pressed state if they are pressed twice in a row, until "
 "pressed again once"
 msgstr ""
+"När valt så kommer modifierartangenter (såsom Control, Alt och Skift) förbli"
+" låsta i nedtryckt läge om de trycks två gånger i rad, tills de trycks igen "
+"en gång"
 
 #: common/resources/accessibility-dialog.glade:392
 msgid "Disable sticky keys if two keys are _pressed"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfce4-settings-4.20.3/po/xfce4-settings.pot 
new/xfce4-settings-4.20.4/po/xfce4-settings.pot
--- old/xfce4-settings-4.20.3/po/xfce4-settings.pot     2025-12-29 
18:18:42.000000000 +0100
+++ new/xfce4-settings-4.20.4/po/xfce4-settings.pot     2026-03-02 
11:08:10.000000000 +0100
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: xfce4-settings 4.20.3\n"
+"Project-Id-Version: xfce4-settings 4.20.4\n"
 "Report-Msgid-Bugs-To: https://gitlab.xfce.org/xfce/xfce4-settings\n";
-"POT-Creation-Date: 2025-11-09 23:03+0100\n"
+"POT-Creation-Date: 2026-01-07 18:48+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <[email protected]>\n"
@@ -1189,11 +1189,11 @@
 msgid "Digital display"
 msgstr ""
 
-#: common/xfce-randr.c:286 dialogs/display-settings/display-settings-x11.c:702
+#: common/xfce-randr.c:286 dialogs/display-settings/display-settings-x11.c:712
 msgid "Unable to query the version of the RandR extension being used"
 msgstr ""
 
-#: common/xfce-randr.c:573
+#: common/xfce-randr.c:577
 #: dialogs/display-settings/display-settings-wayland.c:350
 msgid "Laptop"
 msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfce4-settings-4.20.3/xfsettingsd/displays-wayland.c 
new/xfce4-settings-4.20.4/xfsettingsd/displays-wayland.c
--- old/xfce4-settings-4.20.3/xfsettingsd/displays-wayland.c    2025-12-29 
18:13:11.000000000 +0100
+++ new/xfce4-settings-4.20.4/xfsettingsd/displays-wayland.c    2026-03-02 
11:02:23.000000000 +0100
@@ -533,7 +533,7 @@
             update_needed = FALSE;
         }
     }
-    else
+    else if (outputs->len > helper->previous_n_outputs)
     {
         gint action = xfconf_channel_get_int (channel, NOTIFY_PROP, 
ACTION_ON_NEW_OUTPUT_DEFAULT);
         update_needed = TRUE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfce4-settings-4.20.3/xfsettingsd/displays-x11.c 
new/xfce4-settings-4.20.4/xfsettingsd/displays-x11.c
--- old/xfce4-settings-4.20.3/xfsettingsd/displays-x11.c        2025-12-29 
18:13:11.000000000 +0100
+++ new/xfce4-settings-4.20.4/xfsettingsd/displays-x11.c        2026-03-02 
11:02:23.000000000 +0100
@@ -168,6 +168,7 @@
     XRROutputInfo *info;
     RRMode preferred_mode;
     guint active : 1;
+    gchar *edid;
 };
 
 
@@ -536,6 +537,7 @@
     GPtrArray *old_outputs;
     CARD16 dpms_mode;
     BOOL dpms_enabled;
+    gboolean edids_changed = FALSE;
 
     if (!DPMSInfo (gdk_x11_get_default_xdisplay (), &dpms_mode, &dpms_enabled))
     {
@@ -568,9 +570,38 @@
     xfsettings_dbg (XFSD_DEBUG_DISPLAYS, DEBUG_MESSAGE_DIFF_N_OUTPUTS,
                     old_outputs->len, helper->outputs->len);
 
-    /* Check if we have different amount of outputs and a matching profile and
-       apply it if there's only one */
-    if (helper->outputs->len != old_outputs->len)
+    /*
+     * Since this function is delayed (to avoid reacting to virtual 
connections/disconnections
+     * from xrandr), it is possible that the number of outputs is the same but 
that the list
+     * has changed (typically a single output when starting a virtual machine, 
see
+     * https://gitlab.xfce.org/xfce/xfce4-settings/-/issues/629).
+     * So we use an EDID comparison to make sure that this is not the case.
+     */
+    if (helper->outputs->len == old_outputs->len)
+    {
+        for (guint n = 0; n < helper->outputs->len; n++)
+        {
+            XfceRROutput *output = g_ptr_array_index (helper->outputs, n);
+            guint m = 0;
+            for (; m < old_outputs->len; m++)
+            {
+                XfceRROutput *old_output = g_ptr_array_index (old_outputs, m);
+                if (g_strcmp0 (output->edid, old_output->edid) == 0)
+                    break;
+            }
+            if (m == old_outputs->len)
+            {
+                edids_changed = TRUE;
+                xfsettings_dbg (
+                    XFSD_DEBUG_DISPLAYS,
+                    "Same number of outputs but different EDIDs: acting as if 
an output had been removed or added");
+                break;
+            }
+        }
+    }
+
+    /* if output list changed, check if we have a matching profile */
+    if (helper->outputs->len != old_outputs->len || edids_changed)
     {
         gint mode = xfconf_channel_get_int (channel, AUTO_ENABLE_PROFILES, 
AUTO_ENABLE_PROFILES_DEFAULT);
         if (mode == AUTO_ENABLE_PROFILES_ALWAYS
@@ -582,13 +613,14 @@
             {
                 xfce_displays_helper_x11_channel_apply (XFCE_DISPLAYS_HELPER 
(helper), matching_profile);
                 g_free (matching_profile);
+                g_ptr_array_unref (old_outputs);
                 return FALSE;
             }
         }
         xfconf_channel_set_string (channel, ACTIVE_PROFILE, 
DEFAULT_SCHEME_NAME);
     }
 
-    if (old_outputs->len > helper->outputs->len)
+    if (old_outputs->len > helper->outputs->len || edids_changed)
     {
         gboolean changed = FALSE;
         guint nactive = 0;
@@ -639,7 +671,8 @@
         else if (changed)
             xfce_displays_helper_x11_apply_all (helper);
     }
-    else
+
+    if (old_outputs->len < helper->outputs->len || edids_changed)
     {
         gint action = xfconf_channel_get_int (channel, NOTIFY_PROP, 
ACTION_ON_NEW_OUTPUT_DEFAULT);
         if (action != ACTION_ON_NEW_OUTPUT_DO_NOTHING || old_outputs->len == 0)
@@ -805,7 +838,6 @@
     Rotation rot;
     gint x, y, n, m, int_value;
     gboolean active;
-    const gchar *edid;
     gchar *output_name = NULL;
     GHashTableIter iter;
     gpointer key;
@@ -814,37 +846,54 @@
 
     active = output->active;
 
-    /* does this output exist in xfconf? */
-    edid = xfce_randr_get_edid_by_id (helper->randr, output->id);
-    if (edid == NULL)
+    /* unlikely: randr cache wasn't loaded for some reason, we fall back to 
matching by name */
+    if (output->edid == NULL)
     {
-        g_warn_if_reached ();
-        return active;
+        output_name = g_strdup (output->info->name);
+        xfsettings_dbg (XFSD_DEBUG_DISPLAYS,
+                        "Failed to retrieve EDID from xrandr for output '%s' 
in profile '%s': matching by name instead",
+                        output->info->name, scheme);
     }
-    g_hash_table_iter_init (&iter, saved_outputs);
-    while (g_hash_table_iter_next (&iter, &key, (gpointer *) &value))
+    else
     {
-        if (g_str_has_suffix (key, "EDID")
-            && G_VALUE_HOLDS_STRING (value)
-            && g_strcmp0 (g_value_get_string (value), edid) == 0)
+        /* if this output EDID is duplicated in scheme, we fall back to 
matching by name */
+        g_snprintf (property, sizeof (property), DUPLICATE_EDID_PROP, scheme, 
output->info->name);
+        value = g_hash_table_lookup (saved_outputs, property);
+        if (G_VALUE_HOLDS_BOOLEAN (value) && g_value_get_boolean (value))
+        {
+            output_name = g_strdup (output->info->name);
+            xfsettings_dbg (XFSD_DEBUG_DISPLAYS,
+                            "EDID '%s' of output '%s' is duplicated in profile 
'%s': matching by name instead",
+                            output->edid, output->info->name, scheme);
+        }
+        else
         {
-            gchar **tokens = g_strsplit (key, "/", -1);
-            if (g_strv_length (tokens) == 4)
+            g_hash_table_iter_init (&iter, saved_outputs);
+            while (g_hash_table_iter_next (&iter, &key, (gpointer *) &value))
             {
-                output_name = g_strdup (tokens[2]);
-                if (g_strcmp0 (output_name, output->info->name) != 0)
+                if (g_str_has_suffix (key, "EDID")
+                    && G_VALUE_HOLDS_STRING (value)
+                    && g_strcmp0 (g_value_get_string (value), output->edid) == 
0)
                 {
-                    xfsettings_dbg (XFSD_DEBUG_DISPLAYS, 
DEBUG_MESSAGE_OUTPUT_NAMES_MISMATCH,
-                                    output->info->name, output_name, edid);
+                    gchar **tokens = g_strsplit (key, "/", -1);
+                    if (g_strv_length (tokens) == 4)
+                    {
+                        output_name = g_strdup (tokens[2]);
+                        if (g_strcmp0 (output_name, output->info->name) != 0)
+                        {
+                            xfsettings_dbg (XFSD_DEBUG_DISPLAYS, 
DEBUG_MESSAGE_OUTPUT_NAMES_MISMATCH,
+                                            output->info->name, output_name, 
output->edid);
+                        }
+                    }
+                    g_strfreev (tokens);
+                    break;
                 }
             }
-            g_strfreev (tokens);
-            break;
         }
     }
     if (output_name == NULL)
     {
-        xfsettings_dbg (XFSD_DEBUG_DISPLAYS, DEBUG_MESSAGE_NO_XFCONF_DATA, 
output->info->name, edid);
+        xfsettings_dbg (XFSD_DEBUG_DISPLAYS, DEBUG_MESSAGE_NO_XFCONF_DATA, 
output->info->name, output->edid);
         return active;
     }
 
@@ -1103,6 +1152,8 @@
         output = g_new0 (XfceRROutput, 1);
         output->id = helper->resources->outputs[n];
         output->info = output_info;
+        if (helper->randr != NULL)
+            output->edid = g_strdup (xfce_randr_get_edid_by_id (helper->randr, 
output->id));
 
         /* find the preferred mode */
         output->preferred_mode = None;
@@ -1168,6 +1219,7 @@
     {
         g_critical ("Failed to free output info");
     }
+    g_free (output->edid);
     g_free (output);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfce4-settings-4.20.3/xfsettingsd/displays.h 
new/xfce4-settings-4.20.4/xfsettingsd/displays.h
--- old/xfce4-settings-4.20.3/xfsettingsd/displays.h    2025-09-21 
16:40:40.000000000 +0200
+++ new/xfce4-settings-4.20.4/xfsettingsd/displays.h    2026-01-07 
18:48:41.000000000 +0100
@@ -29,6 +29,7 @@
 #define ACTIVE_PROFILE "/ActiveProfile"
 #define AUTO_ENABLE_PROFILES "/AutoEnableProfiles"
 #define OUTPUT_FMT "/%s/%s"
+#define DUPLICATE_EDID_PROP OUTPUT_FMT "/DuplicateEDID"
 #define PRIMARY_PROP OUTPUT_FMT "/Primary"
 #define ACTIVE_PROP OUTPUT_FMT "/Active"
 #define ROTATION_PROP OUTPUT_FMT "/Rotation"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/xfce4-settings-4.20.3/xfsettingsd/gtk-settings-exported.c 
new/xfce4-settings-4.20.4/xfsettingsd/gtk-settings-exported.c
--- old/xfce4-settings-4.20.3/xfsettingsd/gtk-settings-exported.c       
2025-12-29 18:18:40.000000000 +0100
+++ new/xfce4-settings-4.20.4/xfsettingsd/gtk-settings-exported.c       
2026-03-02 11:08:08.000000000 +0100
@@ -1027,8 +1027,14 @@
     g_value_unset (&skeleton->priv->properties[n]);
   g_free (skeleton->priv->properties);
   g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) 
_changed_property_free);
+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
+  /* coverity[missing_lock : SUPPRESS] */
+  g_clear_pointer (&skeleton->priv->changed_properties_idle_source, 
g_source_destroy);
+#else
   if (skeleton->priv->changed_properties_idle_source != NULL)
     g_source_destroy (skeleton->priv->changed_properties_idle_source);
+skeleton->priv->changed_properties_idle_source = NULL;
+#endif
   g_main_context_unref (skeleton->priv->context);
   g_mutex_clear (&skeleton->priv->lock);
   G_OBJECT_CLASS 
(xfce_gtk_settings_helper_exported_skeleton_parent_class)->finalize (object);

Reply via email to