From c77a05cbd674615719fe43a869cc7c5d8ebbd054 Mon Sep 17 00:00:00 2001 From: Robert Tari Date: Sat, 7 Oct 2023 04:47:56 +0200 Subject: src/info-notification.vala: Display percentage when Orca is enabled --- src/info-notification.vala | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/src/info-notification.vala b/src/info-notification.vala index 4379acf..4e246b2 100644 --- a/src/info-notification.vala +++ b/src/info-notification.vala @@ -39,18 +39,36 @@ public class IndicatorSound.InfoNotification: Notification /* Reset the notification */ var n = _notification; - - uint nChars = ((int32)((volume * 20) + 0.5)).clamp(0, 20); volume_label += "\n"; + int32 nValue = ((int32)((volume * 100.0) + 0.5)).clamp(0, 100); + SettingsSchemaSource pSource = SettingsSchemaSource.get_default (); + SettingsSchema pSchema = pSource.lookup ("org.gnome.desktop.a11y.applications", false); + bool bOrcaActive = false; + + if (pSchema != null) + { + Settings pSettings = new Settings ("org.gnome.desktop.a11y.applications"); + bOrcaActive = pSettings.get_boolean ("screen-reader-enabled"); + } - for (uint nChar = 0; nChar < nChars; nChar++) + if (bOrcaActive) { - volume_label += "◼"; + string sValue = nValue.to_string (); + volume_label += sValue + "%"; + } + else + { + uint nChars = ((int32)((volume * 20) + 0.5)).clamp(0, 20); + + for (uint nChar = 0; nChar < nChars; nChar++) + { + volume_label += "◼"; + } } n.update (_("Volume"), volume_label, icon); n.clear_hints(); - n.set_hint ("value", ((int32)((volume * 100.0) + 0.5)).clamp(0, 100)); + n.set_hint ("value", nValue); show_notification (); } -- cgit v1.2.3