diff --git a/gnome-control-center.spec b/gnome-control-center.spec index 6227c6f..d52d664 100644 --- a/gnome-control-center.spec +++ b/gnome-control-center.spec @@ -24,6 +24,9 @@ License: GPL-2.0-or-later AND CC0-1.0 URL: https://gitlab.gnome.org/GNOME/gnome-control-center/ Source0: https://download.gnome.org/sources/%{name}/46/%{name}-%{tarball_version}.tar.xz +# https://issues.redhat.com/browse/RHEL-59200 +Patch0: power-honor-sleep-inactive-ac-type-server-setting.patch + BuildRequires: desktop-file-utils BuildRequires: docbook-style-xsl libxslt BuildRequires: gcc diff --git a/power-honor-sleep-inactive-ac-type-server-setting.patch b/power-honor-sleep-inactive-ac-type-server-setting.patch new file mode 100644 index 0000000..b2bce70 --- /dev/null +++ b/power-honor-sleep-inactive-ac-type-server-setting.patch @@ -0,0 +1,68 @@ +From fb81961ba88c70adc8ccabdb1b60786d1276108a Mon Sep 17 00:00:00 2001 +From: Felipe Borges +Date: Tue, 10 Sep 2024 14:29:56 +0200 +Subject: [PATCH] power: Read downstream sleep-inactive-ac-type-server gsetting + +We have a downstream side-setting for when the hostnamed chassis +type is "server". This allows for having a different "default" in +each chassis-type. +--- + panels/power/cc-power-panel.c | 20 +++++++++----------- + 1 file changed, 9 insertions(+), 11 deletions(-) + +diff --git a/panels/power/cc-power-panel.c b/panels/power/cc-power-panel.c +index 544cfd9be..bc320f9ef 100644 +--- a/panels/power/cc-power-panel.c ++++ b/panels/power/cc-power-panel.c +@@ -625,8 +625,11 @@ update_automatic_suspend_label (CcPowerPanel *self) + gint ac_timeout; + gint battery_timeout; + const gchar *s; ++ gboolean is_server = FALSE; + +- ac_action = g_settings_get_enum (self->gsd_settings, "sleep-inactive-ac-type"); ++ is_server = g_strcmp0 (self->chassis_type, "server") == 0; ++ ++ ac_action = g_settings_get_enum (self->gsd_settings, is_server ? "sleep-inactive-ac-type-server" : "sleep-inactive-ac-type"); + battery_action = g_settings_get_enum (self->gsd_settings, "sleep-inactive-battery-type"); + ac_timeout = g_settings_get_int (self->gsd_settings, "sleep-inactive-ac-timeout"); + battery_timeout = g_settings_get_int (self->gsd_settings, "sleep-inactive-battery-timeout"); +@@ -781,6 +784,9 @@ setup_power_saving (CcPowerPanel *self) + g_autoptr(GDBusConnection) connection = NULL; + g_autoptr(GError) error = NULL; + int value; ++ gboolean is_server = FALSE; ++ ++ is_server = g_strcmp0 (self->chassis_type, "server") == 0; + + /* ambient light sensor */ + self->iio_proxy_watch_id = +@@ -838,7 +844,7 @@ setup_power_saving (CcPowerPanel *self) + */ + if (g_settings_get_int (self->gsd_settings, "sleep-inactive-ac-timeout") == 0) + { +- g_settings_set_enum (self->gsd_settings, "sleep-inactive-ac-type", GSD_POWER_ACTION_NOTHING); ++ g_settings_set_enum (self->gsd_settings, is_server ? "sleep-inactive-ac-type-server" : "sleep-inactive-ac-type", GSD_POWER_ACTION_NOTHING); + g_settings_set_int (self->gsd_settings, "sleep-inactive-ac-timeout", 3600); + } + if (g_settings_get_int (self->gsd_settings, "sleep-inactive-battery-timeout") == 0) +@@ -860,15 +866,7 @@ setup_power_saving (CcPowerPanel *self) + G_SETTINGS_BIND_DEFAULT, + get_sleep_type, set_sleep_type, NULL, NULL); + +- g_object_set_data (G_OBJECT (self->suspend_on_battery_delay_combo), "_gsettings_key", "sleep-inactive-battery-timeout"); +- value = g_settings_get_int (self->gsd_settings, "sleep-inactive-battery-timeout"); +- set_value_for_combo (self->suspend_on_battery_delay_combo, value); +- g_signal_connect_object (self->suspend_on_battery_delay_combo, "changed", +- G_CALLBACK (combo_time_changed_cb), self, G_CONNECT_SWAPPED); +- g_object_bind_property (self->suspend_on_battery_switch_row, "active", self->suspend_on_battery_delay_combo, "sensitive", +- G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE); +- +- g_settings_bind_with_mapping (self->gsd_settings, "sleep-inactive-ac-type", ++ g_settings_bind_with_mapping (self->gsd_settings, is_server ? "sleep-inactive-ac-type-server" : "sleep-inactive-ac-type", + self->suspend_on_ac_switch_row, "active", + G_SETTINGS_BIND_DEFAULT, + get_sleep_type, set_sleep_type, NULL, NULL); +-- +2.45.2 +