diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix index bf6b223048df..02c487cdb56b 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix @@ -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; }) ]; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/fix-paths.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/fix-paths.patch index e88453433c07..fe380a098c15 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/fix-paths.patch +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/fix-paths.patch @@ -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 diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/hide-onscreen-keyboard-settings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/hide-onscreen-keyboard-settings.patch new file mode 100644 index 000000000000..4b64f4b93c29 --- /dev/null +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/hide-onscreen-keyboard-settings.patch @@ -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); diff --git a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix index 6af460863614..5fc4c8bfd7bd 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix @@ -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 diff --git a/pkgs/desktops/pantheon/desktop/elementary-session-settings/no-gnome-keyring-ssh-autostart.patch b/pkgs/desktops/pantheon/desktop/elementary-session-settings/no-autostart.patch similarity index 78% rename from pkgs/desktops/pantheon/desktop/elementary-session-settings/no-gnome-keyring-ssh-autostart.patch rename to pkgs/desktops/pantheon/desktop/elementary-session-settings/no-autostart.patch index 97682c5b3778..0efa2f65d8da 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-session-settings/no-gnome-keyring-ssh-autostart.patch +++ b/pkgs/desktops/pantheon/desktop/elementary-session-settings/no-autostart.patch @@ -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 diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/quick-settings/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/quick-settings/default.nix index 303d77e16b95..4238cbc77c9d 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/quick-settings/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/quick-settings/default.nix @@ -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 diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/quick-settings/hide-onscreen-keyboard-settings.patch b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/quick-settings/hide-onscreen-keyboard-settings.patch new file mode 100644 index 000000000000..a8ddaa47da59 --- /dev/null +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/quick-settings/hide-onscreen-keyboard-settings.patch @@ -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); + }