From 7cbf0b144767bcfcf5aa7bae82700160fc489ab5 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Mon, 18 Sep 2023 10:30:55 +0200 Subject: src/user-list.vala: Add debug output on high-contrast toggle switch background change requests. Also reference the conncted-to gsettings by its class property name (KEY_HIGHT_CONTRAST). --- src/user-list.vala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/user-list.vala b/src/user-list.vala index e410b19..2c2fe3b 100644 --- a/src/user-list.vala +++ b/src/user-list.vala @@ -173,7 +173,10 @@ public class UserList : GreeterList construct { var agsettings = new AGSettings (); - agsettings.notify["high-contrast"].connect (() => { change_background (); }); + agsettings.notify[AGSettings.KEY_HIGH_CONTRAST].connect (() => { + change_background (); + debug ("High contrast switched toggled, new switch state is %b; adjusting background.", AGSettings.get_boolean(AGSettings.KEY_HIGH_CONTRAST)); + }); entry_displayed_start.connect (() => { change_background (); }); entry_displayed_done.connect (() => { change_background (); }); -- cgit v1.2.3 From 72e03f97098259582e055191378f1c47ea34cc6c Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Mon, 18 Sep 2023 10:34:00 +0200 Subject: a11y: Disable background image when in high-contrast mode. This adds a configurable 'high-contrast-background-color' gsetting parameter (defaulting to #000000), so the high contrast bgcolor becomes customizable. --- .../org.ArcticaProject.arctica-greeter.gschema.xml | 4 ++++ src/background.vala | 26 +++++++++++++++++++++- src/settings.vala | 1 + 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/data/org.ArcticaProject.arctica-greeter.gschema.xml b/data/org.ArcticaProject.arctica-greeter.gschema.xml index d3eb5c5..b8085af 100644 --- a/data/org.ArcticaProject.arctica-greeter.gschema.xml +++ b/data/org.ArcticaProject.arctica-greeter.gschema.xml @@ -9,6 +9,10 @@ '#4B1635' Background color (e.g. #772953), set before wallpaper is seen + + '#000000' + Background color (e.g. #000000 or #FFFFFF) for high contrast mode + '#808080' Font foreground color (e.g. #A0A0A0) for non-active/-hovered and non-selected session names in the session list diff --git a/src/background.vala b/src/background.vala index 70813ea..a0a2af1 100644 --- a/src/background.vala +++ b/src/background.vala @@ -421,6 +421,25 @@ public class Background : Gtk.Fixed } } + private string _highcontrast_bgcolor = null; + public string highcontrast_bgcolor { + get { + if (_highcontrast_bgcolor == null) + { + var settings_bgcolor = AGSettings.get_string (AGSettings.KEY_HIGH_CONTRAST_BACKGROUND_COLOR); + var color = Gdk.RGBA (); + + if (settings_bgcolor == "" || !color.parse (settings_bgcolor)) + { + settings_bgcolor = "#000000"; + } + + _highcontrast_bgcolor = settings_bgcolor; + } + return _highcontrast_bgcolor; + } + } + private string _system_background; public string? system_background { get { @@ -722,7 +741,12 @@ public class Background : Gtk.Fixed private BackgroundLoader load_background (string? filename) { - if (filename == null) + var agsettings = new AGSettings (); + if (agsettings.high_contrast) + { + filename = highcontrast_bgcolor; + } + else if (filename == null) { filename = fallback_bgcolor; } else diff --git a/src/settings.vala b/src/settings.vala index 68ce674..7e8306d 100644 --- a/src/settings.vala +++ b/src/settings.vala @@ -28,6 +28,7 @@ public class AGSettings : Object { public const string KEY_BACKGROUND = "background"; public const string KEY_BACKGROUND_COLOR = "background-color"; + public const string KEY_HIGH_CONTRAST_BACKGROUND_COLOR = "high-contrast-background-color"; public const string KEY_BACKGROUND_MODE = "background-mode"; public const string KEY_DRAW_USER_BACKGROUNDS = "draw-user-backgrounds"; public const string KEY_DRAW_GRID = "draw-grid"; -- cgit v1.2.3 From d49e3512f7047c09f0437de2988160e19ff3ee58 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Mon, 18 Sep 2023 10:35:50 +0200 Subject: src/background.vala: Disable drawing the grid when in high-contrast mode. --- src/background.vala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/background.vala b/src/background.vala index a0a2af1..9602837 100644 --- a/src/background.vala +++ b/src/background.vala @@ -677,7 +677,8 @@ public class Background : Gtk.Fixed c.restore (); - if (DrawFlags.GRID in flags) + var agsettings = new AGSettings(); + if ((DrawFlags.GRID in flags) && (!agsettings.high_contrast)) overlay_grid (c); } -- cgit v1.2.3 From d99c415c172c03d5b09b3a4b4ecae9d6a992bbb1 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Mon, 18 Sep 2023 10:36:43 +0200 Subject: src/background.vala: Produce debug output when current_background gets changed. --- src/background.vala | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/background.vala b/src/background.vala index 9602837..75ed517 100644 --- a/src/background.vala +++ b/src/background.vala @@ -476,14 +476,19 @@ public class Background : Gtk.Fixed } set { + var pretty_value = ""; + if (value == null || value == "") { _current_background = system_background; + pretty_value = " "; } else { _current_background = value; } + pretty_value += _current_background; + debug ("Background change requested, changing to: %s", pretty_value); reload (); } } -- cgit v1.2.3