@@ -34,18 +34,21 @@ public class SettingsDaemon.Backends.InterfaceSettings : GLib.Object {
3434 private const string MONOSPACE_FONT_NAME = " monospace-font-name" ;
3535
3636 private const string LAST_COORDINATES = " last-coordinates" ;
37- private const string ORIENTATION_LOCK = " orientation-lock" ;
3837 private const string PREFER_DARK_SCHEDULE = " prefer-dark-schedule" ;
3938 private const string PREFER_DARK_SCHEDULE_FROM = " prefer-dark-schedule-from" ;
4039 private const string PREFER_DARK_SCHEDULE_TO = " prefer-dark-schedule-to" ;
4140
41+ private const string ORIENTATION_LOCK = " orientation-lock" ;
42+ private const string USE_TRANSPARENCY = " use-transparency" ;
43+
4244 public unowned AccountsService accounts_service { get ; construct; }
4345 public unowned DisplayManager . AccountsService display_manager_accounts_service { get ; construct; }
4446
4547 private GLib . Settings interface_settings;
4648 private GLib . Settings background_settings;
4749 private GLib . Settings settings_daemon_settings;
4850 private GLib . Settings touchscreen_settings;
51+ private GLib . Settings ? wingpanel_settings;
4952
5053 public InterfaceSettings (AccountsService accounts_service , DisplayManager .AccountsService display_manager_accounts_service ) {
5154 Object (
@@ -60,6 +63,11 @@ public class SettingsDaemon.Backends.InterfaceSettings : GLib.Object {
6063 settings_daemon_settings = new GLib .Settings (" io.elementary.settings-daemon.prefers-color-scheme" );
6164 touchscreen_settings = new GLib .Settings (" org.gnome.settings-daemon.peripherals.touchscreen" );
6265
66+ var wingpanel_schema = SettingsSchemaSource . get_default (). lookup (" io.elementary.desktop.wingpanel" , true );
67+ if (wingpanel_schema != null && wingpanel_schema. has_key (USE_TRANSPARENCY )) {
68+ wingpanel_settings = new GLib .Settings (" io.elementary.desktop.wingpanel" );
69+ }
70+
6371 sync_gsettings_to_accountsservice ();
6472
6573 interface_settings. changed. connect ((key) = > {
@@ -98,6 +106,10 @@ public class SettingsDaemon.Backends.InterfaceSettings : GLib.Object {
98106 });
99107
100108 touchscreen_settings. changed. connect (sync_gsettings_to_accountsservice);
109+
110+ if (wingpanel_settings != null ) {
111+ wingpanel_settings. changed[USE_TRANSPARENCY ]. connect (sync_gsettings_to_accountsservice);
112+ }
101113 }
102114
103115 private void sync_gsettings_to_accountsservice () {
@@ -135,6 +147,10 @@ public class SettingsDaemon.Backends.InterfaceSettings : GLib.Object {
135147 accounts_service. prefer_dark_schedule_to = settings_daemon_settings. get_double (PREFER_DARK_SCHEDULE_TO );
136148
137149 accounts_service. orientation_lock = touchscreen_settings. get_boolean (ORIENTATION_LOCK );
150+
151+ if (wingpanel_settings != null ) {
152+ accounts_service. wingpanel_use_transparency = wingpanel_settings. get_boolean (USE_TRANSPARENCY );
153+ }
138154 }
139155
140156 private void sync_background_to_greeter () {
0 commit comments