diff --git a/srcpkgs/gnome-settings-daemon/patches/power-Ensure-backlight-iface-signal-gets-emited-on-startu.patch b/srcpkgs/gnome-settings-daemon/patches/power-Ensure-backlight-iface-signal-gets-emited-on-startu.patch new file mode 100644 index 00000000000..fcd9f7687e1 --- /dev/null +++ b/srcpkgs/gnome-settings-daemon/patches/power-Ensure-backlight-iface-signal-gets-emited-on-startu.patch @@ -0,0 +1,60 @@ +From: Joan Torres +Date: Mon, 31 Mar 2025 12:00:58 +0200 +Subject: power: Ensure backlight iface signal gets emited on startup + +When power manager is started, "PropertiesChanged" signal on the backlight +iface needs to be emitted to allow gnome-shell quick settings +informing backlight status. + +This wasn't happening because manager doesn't have session dbus +connection until startup is done. + +Closes: https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/issues/867 + +Origin: https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/411/diffs?diff_id=1373090 +Bug: https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/issues/867 +Bug-Ubuntu: https://launchpad.net/bugs/2105397 +--- + plugins/power/gsd-power-manager.c | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c +index 436364a..f57e0b7 100644 +--- a/plugins/power/gsd-power-manager.c ++++ b/plugins/power/gsd-power-manager.c +@@ -3116,17 +3116,6 @@ gsd_power_manager_startup (GApplication *app) + if (!gnome_settings_is_wayland ()) + manager->xscreensaver_watchdog_timer_id = gsd_power_enable_screensaver_watchdog (); + +- /* queue a signal in case the proxy from gnome-shell was created before we got here +- (likely, considering that to get here we need a reply from gnome-shell) +- */ +- if (manager->backlight) { +- manager->ambient_percentage_old = gsd_backlight_get_brightness (manager->backlight, NULL); +- backlight_iface_emit_changed (manager, GSD_POWER_DBUS_INTERFACE_SCREEN, +- manager->ambient_percentage_old, NULL); +- } else { +- backlight_iface_emit_changed (manager, GSD_POWER_DBUS_INTERFACE_SCREEN, -1, NULL); +- } +- + G_APPLICATION_CLASS (gsd_power_manager_parent_class)->startup (app); + + gnome_settings_profile_end (NULL); +@@ -3583,6 +3572,17 @@ on_bus_gotten (GObject *source_object, + NULL, + NULL, + NULL); ++ ++ /* queue a signal in case the proxy from gnome-shell was created before we got here ++ (likely, considering that to get here we need a reply from gnome-shell) ++ */ ++ if (manager->backlight) { ++ manager->ambient_percentage_old = gsd_backlight_get_brightness (manager->backlight, NULL); ++ backlight_iface_emit_changed (manager, GSD_POWER_DBUS_INTERFACE_SCREEN, ++ manager->ambient_percentage_old, NULL); ++ } else { ++ backlight_iface_emit_changed (manager, GSD_POWER_DBUS_INTERFACE_SCREEN, -1, NULL); ++ } + } + + static void diff --git a/srcpkgs/gnome-settings-daemon/template b/srcpkgs/gnome-settings-daemon/template index 6857d65218d..27523637992 100644 --- a/srcpkgs/gnome-settings-daemon/template +++ b/srcpkgs/gnome-settings-daemon/template @@ -1,6 +1,6 @@ # Template file for 'gnome-settings-daemon' pkgname=gnome-settings-daemon -version=47.2 +version=48.0 revision=1 build_style=meson configure_args="-Dsystemd=false" @@ -21,7 +21,7 @@ license="GPL-3.0-or-later" homepage="https://gitlab.gnome.org/GNOME/gnome-settings-daemon" changelog="https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/raw/master/NEWS" distfiles="${GNOME_SITE}/gnome-settings-daemon/${version%.*}/gnome-settings-daemon-${version}.tar.xz" -checksum=1eb758862e888f55a0869193087f1cfbcc7a1163654e630099ff4342dd3f6a5a +checksum=f3da20ab4a2ba56fd3e97b991f2bc267973d5619bd58bfa516410aa036305e45 CFLAGS="-UG_DISABLE_ASSERT" if [ "$CROSS_BUILD" ]; then