pantheon: Remove onscreen keyboard settings

We no longer ship Pantheon X11 session in NixOS, this won't happen
upstream before elementary OS 9, so patch here for now.
This commit is contained in:
Bobby Rong
2025-11-15 20:58:14 +08:00
parent 9c9c20922f
commit b21fe8378a
7 changed files with 59 additions and 25 deletions
@@ -20,7 +20,6 @@
libgnomekbd,
libxklavier,
ibus,
onboard,
switchboard,
}:
@@ -40,8 +39,13 @@ stdenv.mkDerivation rec {
# https://github.com/elementary/settings-keyboard/issues/324
./hide-install-unlisted-engines-button.patch
# We no longer ship Pantheon X11 session in NixOS.
# https://github.com/elementary/session-settings/issues/91
# https://github.com/elementary/session-settings/issues/82
./hide-onscreen-keyboard-settings.patch
(replaceVars ./fix-paths.patch {
inherit onboard libgnomekbd;
inherit libgnomekbd;
})
];
@@ -1,16 +1,3 @@
diff --git a/src/Behavior/Behavior.vala b/src/Behavior/Behavior.vala
index bd461685..b6371096 100644
--- a/src/Behavior/Behavior.vala
+++ b/src/Behavior/Behavior.vala
@@ -252,7 +252,7 @@ public class Keyboard.Behaviour.Page : Gtk.Box {
onscreen_keyboard_settings.clicked.connect (() => {
try {
- var appinfo = GLib.AppInfo.create_from_commandline ("onboard-settings", null, NONE);
+ var appinfo = GLib.AppInfo.create_from_commandline ("@onboard@/bin/onboard-settings", null, NONE);
appinfo.launch (null, null);
} catch (Error e) {
critical ("Unable to launch onboard-settings: %s", e.message);
diff --git a/src/Layout/Widgets/AddLayoutDialog.vala b/src/Layout/Widgets/AddLayoutDialog.vala
index 25cc0fe9..b3e350bb 100644
--- a/src/Layout/Widgets/AddLayoutDialog.vala
@@ -0,0 +1,12 @@
diff --git a/src/Behavior/Behavior.vala b/src/Behavior/Behavior.vala
index a1929fe4..2f332694 100644
--- a/src/Behavior/Behavior.vala
+++ b/src/Behavior/Behavior.vala
@@ -227,7 +227,6 @@ public class Keyboard.Behaviour.Page : Gtk.Box {
blink_grid.attach (scale_blink_time, 1, 2);
var box = new Gtk.Box (VERTICAL, 18);
- box.append (onscreen_keyboard_grid);
box.append (blink_grid);
box.append (repeat_grid);
box.append (stickykeys_grid);
@@ -31,13 +31,11 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-mdfmCzR9ikXDlDc7FeOITsdbPbz+G66jUrl1BobY+g8=";
};
/*
This allows `elementary-session-settings` to not use gnome-keyring's ssh capabilities anymore, as they have been
moved to gcr upstream, in an effort to modularize gnome-keyring.
More info can be found here: https://gitlab.gnome.org/GNOME/gnome-keyring/-/merge_requests/60
*/
patches = [ ./no-gnome-keyring-ssh-autostart.patch ];
patches = [
# See https://github.com/elementary/session-settings/issues/88 for gnome-keyring.
# See https://github.com/elementary/session-settings/issues/82 for onboard.
./no-autostart.patch
];
nativeBuildInputs = [
desktop-file-utils
@@ -1,12 +1,13 @@
diff --git a/session/meson.build b/session/meson.build
index 501e836..3254658 100644
index 3e23650..e1f9792 100644
--- a/session/meson.build
+++ b/session/meson.build
@@ -79,7 +79,6 @@ if get_option('detect-program-prefixes') == true
@@ -79,8 +79,6 @@ if get_option('detect-program-prefixes') == true
autostarts = {
'gnome-keyring-pkcs11': join_paths(gnome_keyring_prefix, 'etc/xdg/autostart', 'gnome-keyring-pkcs11.desktop'),
'gnome-keyring-secrets': join_paths(gnome_keyring_prefix, 'etc/xdg/autostart', 'gnome-keyring-secrets.desktop'),
- 'gnome-keyring-ssh': join_paths(gnome_keyring_prefix, 'etc/xdg/autostart', 'gnome-keyring-ssh.desktop'),
'onboard-autostart': join_paths(onboard_prefix, 'etc/xdg/autostart', 'onboard-autostart.desktop'),
- 'onboard-autostart': join_paths(onboard_prefix, 'etc/xdg/autostart', 'onboard-autostart.desktop'),
'orca-autostart': join_paths(orca_prefix, 'etc/xdg/autostart', 'orca-autostart.desktop'),
}
else
@@ -32,6 +32,13 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-82XlZDnXuUB0PPmInrSQh1vrwnOYt9RplKWwYxIirVo=";
};
patches = [
# We no longer ship Pantheon X11 session in NixOS.
# https://github.com/elementary/session-settings/issues/91
# https://github.com/elementary/session-settings/issues/82
./hide-onscreen-keyboard-settings.patch
];
nativeBuildInputs = [
glib # glib-compile-resources
meson
@@ -0,0 +1,25 @@
diff --git a/src/PopoverWidget.vala b/src/PopoverWidget.vala
index 9dd331c..438fbe0 100644
--- a/src/PopoverWidget.vala
+++ b/src/PopoverWidget.vala
@@ -123,7 +123,6 @@ public class QuickSettings.PopoverWidget : Gtk.Box {
if (server_type == GREETER || glib_settings.get_boolean ("show-a11y")) {
toggle_box.add (screen_reader);
- toggle_box.add (onscreen_keyboard);
scale_box.add (text_scale);
}
@@ -131,12 +130,10 @@ public class QuickSettings.PopoverWidget : Gtk.Box {
glib_settings.changed["show-a11y"].connect (() => {
if (glib_settings.get_boolean ("show-a11y") && screen_reader.parent == null) {
toggle_box.add (screen_reader);
- toggle_box.add (onscreen_keyboard);
scale_box.add (text_scale);
} else {
toggle_box.remove (screen_reader);
- toggle_box.remove (onscreen_keyboard);
scale_box.remove (text_scale);
}