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);
