From 37ba94ef1e55e2d6430de3574806e6d46b89719b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Thu, 14 Aug 2025 10:33:36 -0700 Subject: [PATCH 1/5] Select classic session when using a11y features --- src/Application.vala | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/Application.vala b/src/Application.vala index ba7440ee..e9c39e95 100644 --- a/src/Application.vala +++ b/src/Application.vala @@ -102,6 +102,29 @@ public class Greeter.Application : Gtk.Application { }); add_action (select_session_action); + + var a11y_settings = new GLib.Settings ("org.gnome.desktop.a11y.applications"); + a11y_settings.changed.connect ((key) => { + if (key != "screen-keyboard-enabled" && key != "screen-reader-enabled") { + return; + } + + if (!a11y_settings.get_boolean (key)) { + return; + } + + if (select_session_action.get_state ().get_string () != "pantheon-wayland") { + return; + } + + select_session_action.set_state (new Variant.string ("pantheon")); + + var notification = new Notification (_("Classic session automatically selected")); + notification.set_body (_("Accessibility features may be unavailable in the Secure session")); + notification.set_icon (new ThemedIcon ("preferences-desktop-accessibility")); + + send_notification ("session-type", notification); + }); } public override void activate () { From 5af9ed327bde9bc40d5966a7781380f54341415a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Thu, 14 Aug 2025 10:44:27 -0700 Subject: [PATCH 2/5] Fix notification icon --- data/io.elementary.greeter.desktop.in | 2 ++ data/meson.build | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/data/io.elementary.greeter.desktop.in b/data/io.elementary.greeter.desktop.in index 6117e078..65379927 100644 --- a/data/io.elementary.greeter.desktop.in +++ b/data/io.elementary.greeter.desktop.in @@ -1,5 +1,7 @@ [Desktop Entry] Name=Pantheon Greeter Comment=Pantheon Greeter +Icon=io.elementary.settings Exec=@PROJECT_NAME@-compositor Type=Application +NoDisplay=true diff --git a/data/meson.build b/data/meson.build index 9c5553ba..47423b14 100644 --- a/data/meson.build +++ b/data/meson.build @@ -25,6 +25,12 @@ i18n.merge_file( install_dir: get_option('datadir') / 'metainfo', ) +# For notifications +install_data( + desktop_in, + install_dir: get_option('datadir') / 'applications', +) + install_data( meson.project_name() + '.conf', install_dir: join_paths(get_option('sysconfdir'), 'lightdm') From 3854a9a459a60ac6815899bd4af0c33ce39b2551 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Thu, 14 Aug 2025 10:47:46 -0700 Subject: [PATCH 3/5] Update greeter.metainfo.xml.in --- data/greeter.metainfo.xml.in | 1 + 1 file changed, 1 insertion(+) diff --git a/data/greeter.metainfo.xml.in b/data/greeter.metainfo.xml.in index 273332b2..a7e9f2be 100644 --- a/data/greeter.metainfo.xml.in +++ b/data/greeter.metainfo.xml.in @@ -52,6 +52,7 @@ Does not follow the "automatic" accent color (based on wallpaper) Num lock/Caps lock labels are not centered add support for mutter 48 / libmutter-16 + Automatically switch the session to X11 if a11y tools are used From 4ba8418e8df297585aeefb128994732359c60447 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Fri, 15 Aug 2025 09:48:44 -0700 Subject: [PATCH 4/5] Install settings icon --- data/icons/48.svg | 420 ++++++++++++++++++++++++++ data/io.elementary.greeter.desktop.in | 2 +- data/meson.build | 23 +- 3 files changed, 438 insertions(+), 7 deletions(-) create mode 100644 data/icons/48.svg diff --git a/data/icons/48.svg b/data/icons/48.svg new file mode 100644 index 00000000..242da6fb --- /dev/null +++ b/data/icons/48.svg @@ -0,0 +1,420 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/data/io.elementary.greeter.desktop.in b/data/io.elementary.greeter.desktop.in index 65379927..9e399146 100644 --- a/data/io.elementary.greeter.desktop.in +++ b/data/io.elementary.greeter.desktop.in @@ -1,7 +1,7 @@ [Desktop Entry] Name=Pantheon Greeter Comment=Pantheon Greeter -Icon=io.elementary.settings +Icon=io.elementary.greeter.settings Exec=@PROJECT_NAME@-compositor Type=Application NoDisplay=true diff --git a/data/meson.build b/data/meson.build index 47423b14..a2b1820e 100644 --- a/data/meson.build +++ b/data/meson.build @@ -25,12 +25,6 @@ i18n.merge_file( install_dir: get_option('datadir') / 'metainfo', ) -# For notifications -install_data( - desktop_in, - install_dir: get_option('datadir') / 'applications', -) - install_data( meson.project_name() + '.conf', install_dir: join_paths(get_option('sysconfdir'), 'lightdm') @@ -46,3 +40,20 @@ test ( find_program('desktop-file-validate'), args: join_paths(meson.current_build_dir (), meson.project_name() + '.desktop') ) + +# For notifications +install_data( + desktop_in, + install_dir: get_option('datadir') / 'applications', +) + +install_data( + 'icons' / '48.svg', + install_dir: get_option('datadir') / 'icons' / 'hicolor' / '48x48' / 'apps', + rename: meson.project_name() + '.settings.svg' +) +install_data( + 'icons' / '48.svg', + install_dir: get_option('datadir') / 'icons' / 'hicolor' / '48x48@2' / 'apps', + rename: meson.project_name() + '.settings.svg' +) From e87b3fbe0a895bd2a128cb0e8b0c6ebd9fb93c4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Fri, 15 Aug 2025 09:51:22 -0700 Subject: [PATCH 5/5] Update icon cache --- meson.build | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index fd412806..16f9a84c 100644 --- a/meson.build +++ b/meson.build @@ -54,4 +54,7 @@ if vapigen.found() subdir('vapi') endif -gnome.post_install(glib_compile_schemas: true) +gnome.post_install( + glib_compile_schemas: true, + gtk_update_icon_cache: true +)