From ccdd3f5f532a21adf153c68697395e862a097a3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 10 Jan 2024 19:53:58 +0100 Subject: [PATCH] popupMenu/switch: Follow "show-status-shapes" setting Whether or not switches include shapes to indicate their ON/OFF state is currently controlled by the stylesheet. However there are use cases for both using the HighContrast style without shapes, and for using shapes with the regular styesheet, so follow the newly added "show-status-shapes" setting instead. https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2675 Part-of: --- js/ui/popupMenu.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js index 9886649ab..3842d8218 100644 --- a/js/ui/popupMenu.js +++ b/js/ui/popupMenu.js @@ -368,7 +368,11 @@ export const Switch = GObject.registerClass({ }); box.add_child(this._offIcon); - St.Settings.get().connectObject('notify::high-contrast', + this._a11ySettings = new Gio.Settings({ + schema_id: 'org.gnome.desktop.a11y.interface', + }); + + this._a11ySettings.connectObject('changed::show-status-shapes', () => this._updateIconOpacity(), this); this.connect('notify::state', @@ -377,7 +381,7 @@ export const Switch = GObject.registerClass({ } _updateIconOpacity() { - const activeOpacity = St.Settings.get().high_contrast + const activeOpacity = this._a11ySettings.get_boolean('show-status-shapes') ? 255. : 0.; this._onIcon.opacity = this.state