From 480730067e500de1af2eb616663179e106ea995b Mon Sep 17 00:00:00 2001 From: Michael Webster Date: Mon, 6 Feb 2023 09:51:55 +0100 Subject: Set our own cursor theme and size internally via GtkSettings. The gtk and icon themes already work this way. Ported from Slick Greeter by Mike Gabriel. https://github.com/linuxmint/slick-greeter/commit/97f9f54b686303dec81918d3056194bff2a3163c --- src/settings.vala | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/settings.vala') diff --git a/src/settings.vala b/src/settings.vala index af753ce..05f54fe 100644 --- a/src/settings.vala +++ b/src/settings.vala @@ -33,6 +33,8 @@ public class AGSettings : Object public const string KEY_THEME_NAME = "theme-name"; public const string KEY_HIGH_CONTRAST_THEME_NAME = "high-contrast-theme-name"; public const string KEY_ICON_THEME_NAME = "icon-theme-name"; + public const string KEY_CURSOR_THEME_NAME = "cursor-theme-name"; + public const string KEY_CURSOR_THEME_SIZE = "cursor-theme-size"; public const string KEY_FONT_NAME = "font-name"; public const string KEY_XFT_ANTIALIAS = "xft-antialias"; public const string KEY_XFT_DPI = "xft-dpi"; -- cgit v1.2.3 From 3d288d37411db11a4826d6a70a26d842241af3e0 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Mon, 6 Feb 2023 10:19:28 +0100 Subject: a11y: Make the onboard layout configurable. Original patch by Clement Lefebvre (Slick Greeter). https://github.com/linuxmint/slick-greeter/commit/ae090039efff87ad8b9b856f3fe451f9f41d21be Modified by Mike Gabriel (change: don't store the complete layout path in gsettings). --- data/org.ArcticaProject.arctica-greeter.gschema.xml | 4 ++++ src/menubar.vala | 12 ++++++++++-- src/settings.vala | 1 + 3 files changed, 15 insertions(+), 2 deletions(-) (limited to 'src/settings.vala') diff --git a/data/org.ArcticaProject.arctica-greeter.gschema.xml b/data/org.ArcticaProject.arctica-greeter.gschema.xml index 419e267..9f7fc6e 100644 --- a/data/org.ArcticaProject.arctica-greeter.gschema.xml +++ b/data/org.ArcticaProject.arctica-greeter.gschema.xml @@ -147,5 +147,9 @@ 'auto' Monitor on which to show the Login GUI + + 'Small' + Name of the onscreen keyboard layout (see /usr/share/onboard/layouts/ for available layout names). + diff --git a/src/menubar.vala b/src/menubar.vala index a417a03..87e0bf7 100644 --- a/src/menubar.vala +++ b/src/menubar.vala @@ -536,9 +536,17 @@ public class MenuBar : Gtk.MenuBar try { string[] argv; + string cmd; int onboard_stdout_fd; - - Shell.parse_argv ("onboard --xid", out argv); + var layout = AGSettings.get_string (AGSettings.KEY_ONSCREEN_KEYBOARD_LAYOUT); + var file = File.new_for_path ("/usr/share/onboard/layouts/%s.onboard".printf (layout)); + if (file.query_exists ()) { + cmd = "onboard --xid --layout='/usr/share/onboard/layouts/%s.onboard'".printf (layout); + } + else { + cmd = "onboard --xid"; + } + Shell.parse_argv (cmd, out argv); Process.spawn_async_with_pipes (null, argv, null, diff --git a/src/settings.vala b/src/settings.vala index 05f54fe..9eef320 100644 --- a/src/settings.vala +++ b/src/settings.vala @@ -41,6 +41,7 @@ public class AGSettings : Object public const string KEY_XFT_HINTSTYLE = "xft-hintstyle"; public const string KEY_XFT_RGBA = "xft-rgba"; public const string KEY_ONSCREEN_KEYBOARD = "onscreen-keyboard"; + public const string KEY_ONSCREEN_KEYBOARD_LAYOUT = "onscreen-keyboard-layout"; public const string KEY_HIGH_CONTRAST = "high-contrast"; public const string KEY_BIG_FONT = "big-font"; public const string KEY_SCREEN_READER = "screen-reader"; -- cgit v1.2.3