From 1524100ff58a42ab085fd59a76fc46827798e127 Mon Sep 17 00:00:00 2001 From: OlivierChiasson Date: Mon, 22 Jun 2026 12:26:25 -0300 Subject: [PATCH] Add DMS plugins for rbw lock and wvkbd toggle - Introduced new DMS plugins: `rbw-lock-toggle` for managing Bitwarden vault state and `wvkbd-toggle` for showing/hiding the on-screen keyboard. - Updated `flake.lock` and `flake.nix` to include the new plugins and their configurations. - Removed legacy options and files related to the rbw lock toggle, streamlining the DMS configuration. - Enhanced the home-manager module to support the new plugins and their integration into the DMS environment. --- flake.lock | 34 ++++ flake.nix | 10 ++ .../shells/dms/_private/matugen-config.nix | 44 +++++ modules/desktop/shells/dms/default.nix | 9 +- .../shells/dms/home-manager/default.nix | 157 +++++++----------- .../home-manager/scripts/dms-restart-once.sh | 8 + .../plugins/rbw-lock-toggle/RbwLockToggle.qml | 80 --------- .../rbw-lock-toggle/RbwLockToggleSettings.qml | 16 -- .../dms/plugins/rbw-lock-toggle/plugin.json | 13 -- .../dms/plugins/wvkbd-toggle/WvkbdToggle.qml | 51 ------ .../wvkbd-toggle/WvkbdToggleSettings.qml | 16 -- .../dms/plugins/wvkbd-toggle/plugin.json | 13 -- modules/hosts/14900k/configuration.nix | 1 - modules/hosts/ideapad/configuration.nix | 2 - modules/hosts/t2mbp/configuration.nix | 3 - modules/hosts/uConsole/configuration.nix | 3 - 16 files changed, 155 insertions(+), 305 deletions(-) create mode 100644 modules/desktop/shells/dms/_private/matugen-config.nix create mode 100644 modules/desktop/shells/dms/home-manager/scripts/dms-restart-once.sh delete mode 100644 modules/desktop/shells/dms/plugins/rbw-lock-toggle/RbwLockToggle.qml delete mode 100644 modules/desktop/shells/dms/plugins/rbw-lock-toggle/RbwLockToggleSettings.qml delete mode 100644 modules/desktop/shells/dms/plugins/rbw-lock-toggle/plugin.json delete mode 100644 modules/desktop/shells/dms/plugins/wvkbd-toggle/WvkbdToggle.qml delete mode 100644 modules/desktop/shells/dms/plugins/wvkbd-toggle/WvkbdToggleSettings.qml delete mode 100644 modules/desktop/shells/dms/plugins/wvkbd-toggle/plugin.json diff --git a/flake.lock b/flake.lock index 141399e..fb3a552 100644 --- a/flake.lock +++ b/flake.lock @@ -329,6 +329,22 @@ "type": "github" } }, + "dms-plugin-rbw-lock-toggle": { + "flake": false, + "locked": { + "lastModified": 1782075393, + "narHash": "sha256-pTA8X2EWSnytBjwVph6G5QQbAH2RitCBm5XKbyeuXps=", + "ref": "refs/heads/main", + "rev": "f602df31706cde2176053faa284f8a2cecdd10ce", + "revCount": 1, + "type": "git", + "url": "https://git.chiasson.cloud/dms-plugins/rbw-lock-toggle" + }, + "original": { + "type": "git", + "url": "https://git.chiasson.cloud/dms-plugins/rbw-lock-toggle" + } + }, "dms-plugin-unified-taskbar": { "flake": false, "locked": { @@ -393,6 +409,22 @@ "type": "github" } }, + "dms-plugin-wvkbd-toggle": { + "flake": false, + "locked": { + "lastModified": 1782075446, + "narHash": "sha256-dQOypewXssYUSW2MPHx42EUlLPJMR8zetcr98t8LeTE=", + "ref": "refs/heads/main", + "rev": "fd13bb27628cd39c393fd898c1c9957ce44eff9f", + "revCount": 1, + "type": "git", + "url": "https://git.chiasson.cloud/dms-plugins/wvkbd-toggle" + }, + "original": { + "type": "git", + "url": "https://git.chiasson.cloud/dms-plugins/wvkbd-toggle" + } + }, "flake-compat": { "locked": { "lastModified": 1733328505, @@ -1087,10 +1119,12 @@ "dms-plugin-nix-package-runner": "dms-plugin-nix-package-runner", "dms-plugin-ocr-scanner": "dms-plugin-ocr-scanner", "dms-plugin-official": "dms-plugin-official", + "dms-plugin-rbw-lock-toggle": "dms-plugin-rbw-lock-toggle", "dms-plugin-unified-taskbar": "dms-plugin-unified-taskbar", "dms-plugin-wallpaper-carousel": "dms-plugin-wallpaper-carousel", "dms-plugin-web-search": "dms-plugin-web-search", "dms-plugin-widget-group": "dms-plugin-widget-group", + "dms-plugin-wvkbd-toggle": "dms-plugin-wvkbd-toggle", "flake-parts": "flake-parts", "home-manager": "home-manager", "import-tree": "import-tree", diff --git a/flake.nix b/flake.nix index ace33a7..b95b796 100644 --- a/flake.nix +++ b/flake.nix @@ -103,6 +103,16 @@ flake = false; }; + dms-plugin-wvkbd-toggle = { + url = "git+https://git.chiasson.cloud/dms-plugins/wvkbd-toggle"; + flake = false; + }; + + dms-plugin-rbw-lock-toggle = { + url = "git+https://git.chiasson.cloud/dms-plugins/rbw-lock-toggle"; + flake = false; + }; + dgop = { url = "github:AvengeMedia/dgop"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/modules/desktop/shells/dms/_private/matugen-config.nix b/modules/desktop/shells/dms/_private/matugen-config.nix new file mode 100644 index 0000000..85440e7 --- /dev/null +++ b/modules/desktop/shells/dms/_private/matugen-config.nix @@ -0,0 +1,44 @@ +# Builds matugen config.toml text for DMS dynamic theming. +{ + lib, + home, + hyprlandEnabled, + ohMyPoshEnabled, + discordEnabled, + obsidianSnippetDirs, +}: +let + templateBlock = name: input: output: '' + + [templates.${name}] + input_path = '${input}' + output_path = '${output}' + ''; +in +'' +[config] +'' ++ lib.optionalString hyprlandEnabled ( + templateBlock "hyprland" + "${home}/.config/matugen/templates/hyprland-colors.conf" + "${home}/.config/hypr/colors.conf" +) ++ lib.optionalString ohMyPoshEnabled ( + templateBlock "ohmyposh" + "${home}/.config/matugen/templates/ohmyposh-theme.omp.json" + "${home}/.config/oh-my-posh/theme.omp.json" +) ++ lib.optionalString discordEnabled ( + templateBlock "dank-discord" + "${home}/.config/matugen/templates/dank-discord.css" + "${home}/.config/vesktop/themes/dank-discord.css" +) ++ lib.optionalString (obsidianSnippetDirs != [ ]) ( + lib.concatStringsSep "\n" ( + lib.lists.imap0 (i: snippetDir: + templateBlock "Obsidian${toString i}" + "${home}/.config/matugen/templates/obsidian-minimal-matugen-colors.css" + "${snippetDir}/matugen.css" + ) obsidianSnippetDirs + ) +) diff --git a/modules/desktop/shells/dms/default.nix b/modules/desktop/shells/dms/default.nix index 3cc9b70..c84c1d3 100644 --- a/modules/desktop/shells/dms/default.nix +++ b/modules/desktop/shells/dms/default.nix @@ -17,12 +17,6 @@ default = [ ]; description = "Extra right-bar widgets merged into the first-run DMS settings seed."; }; - enableWvkbdToggle = lib.mkEnableOption '' - wvkbd DMS plugin + bar toggle (touch / uConsole). - ''; - enableRbwLockToggle = lib.mkEnableOption '' - rbw vault lock/unlock button in the DMS bar (Bitwarden CLI via rbw). - ''; rebuildCommand = lib.mkOption { type = lib.types.nullOr (lib.types.listOf lib.types.str); default = null; @@ -44,7 +38,8 @@ type = lib.types.bool; default = true; description = '' - Install bundled third-party DMS plugins from flake inputs on all DMS hosts. + Install bundled DMS plugins from flake inputs (third-party + chiasson). + Disable individual plugins in DMS settings; set this to false to skip all bundled plugins. ''; }; }; diff --git a/modules/desktop/shells/dms/home-manager/default.nix b/modules/desktop/shells/dms/home-manager/default.nix index 90f73fc..d4f518d 100644 --- a/modules/desktop/shells/dms/home-manager/default.nix +++ b/modules/desktop/shells/dms/home-manager/default.nix @@ -14,14 +14,6 @@ discordEnabled = lib.attrByPath [ "chiasson" "home" "apps" "discord" "enable" ] false config; ohMyPoshEnabled = config.programs.oh-my-posh.enable or false; obsidianSnippetDirs = map (v: v + "/snippets") (dmsOs.obsidianVaults or [ ]); - seedBarWidgets = - lib.optionals (dmsOs.enableWvkbdToggle or false) [ - { id = "wvkbdToggle"; enabled = true; } - ] - ++ lib.optionals (dmsOs.enableRbwLockToggle or false) [ - { id = "rbwLockToggle"; enabled = true; } - ] - ++ (dmsOs.extraRightBarWidgets or [ ]); matugenOutputDirs = lib.optionals hyprlandEnabled [ "${home}/.config/hypr" ] ++ lib.optionals ohMyPoshEnabled [ "${home}/.config/oh-my-posh" ] @@ -30,10 +22,9 @@ "${home}/.config/qt6ct/colors" "${home}/.config/qt5ct/colors" ]; - ensureMatugenOutputDirsScript = pkgs.writeShellScript "dms-ensure-matugen-output-dirs" '' - set -euo pipefail - ${lib.concatStringsSep "\n" (map (dir: "mkdir -p ${lib.escapeShellArg dir}") matugenOutputDirs)} - ${lib.concatStringsSep "\n" (map (dir: '' + ensureMatugenBody = + lib.concatStringsSep "\n" (map (dir: "mkdir -p ${lib.escapeShellArg dir}") matugenOutputDirs) + + lib.concatStringsSep "\n" (map (dir: '' snippetDir=${lib.escapeShellArg dir} parentDir="$(dirname "$snippetDir")" if [ -d "$snippetDir" ]; then @@ -43,8 +34,8 @@ else mkdir -p "$snippetDir" fi - '') obsidianSnippetDirs)} - ${lib.optionalString ohMyPoshEnabled '' + '') obsidianSnippetDirs) + + lib.optionalString ohMyPoshEnabled '' dest="$HOME/.config/oh-my-posh/theme.omp.json" template="$HOME/.config/matugen/templates/ohmyposh-theme.omp.json" if [ -L "$dest" ] || { [ -e "$dest" ] && ! [ -f "$dest" ]; }; then @@ -53,19 +44,21 @@ if [ ! -f "$dest" ]; then cp -L "$template" "$dest" fi - ''} + ''; + ensureMatugenOutputDirsScript = pkgs.writeShellScript "dms-ensure-matugen-output-dirs" '' + set -euo pipefail + ${ensureMatugenBody} ''; - # Clears Quickshell QML bytecode cache so bar plugins reload (stale *.qmlc keeps old UI). - dmsRestartOnceScript = pkgs.writeShellScript "dms-rbw-plugin-restart-once" '' - set -euo pipefail - rt="''${XDG_RUNTIME_DIR:-/run/user/$(id -u)}" - exec 9>"$rt/dms-rbw-plugin-restart.lock" - ${pkgs.util-linux}/bin/flock -n 9 || exit 0 - cache="''${XDG_CACHE_HOME:-''$HOME/.cache}/quickshell/qmlcache" - rm -rf "$cache" - ${pkgs.systemd}/bin/systemctl --user try-restart dms.service 2>/dev/null || true - ''; + dmsRestartOnceScript = pkgs.writeShellScript "dms-plugin-restart-once" ( + builtins.replaceStrings + [ "@FLOCK@" "@SYSTEMCTL@" ] + [ + "${pkgs.util-linux}/bin/flock" + "${pkgs.systemd}/bin/systemctl" + ] + (builtins.readFile ./scripts/dms-restart-once.sh) + ); jsonFormat = pkgs.formats.json { }; dmsConfigDir = "${config.xdg.configHome}/DankMaterialShell"; @@ -84,11 +77,45 @@ "settings.json" = jsonFormat.generate "dms-settings-seed.json" ( import ../_private/default-settings.nix { inherit lib gpuTempEnabled; - extraRightBarWidgets = seedBarWidgets; + extraRightBarWidgets = dmsOs.extraRightBarWidgets or [ ]; } ); }; + dmsSeedBody = lib.concatMapStringsSep "\n" ( + fileName: + let + dest = "${dmsConfigDir}/${fileName}"; + src = dmsSeedSources.${fileName}; + in + '' + dest=${lib.escapeShellArg dest} + mkdir -p "$(dirname "$dest")" + if [ -L "$dest" ]; then + ${pkgs.coreutils}/bin/cp --remove-destination -L "$dest" "$dest" + fi + if [ ! -e "$dest" ]; then + ${pkgs.coreutils}/bin/cp ${lib.escapeShellArg src} "$dest" + chmod u+w "$dest" + fi + '' + ) (lib.attrNames dmsSeedSources); + dmsSeedConfigScript = pkgs.writeShellScript "dms-seed-config" '' + set -euo pipefail + ${dmsSeedBody} + ''; + + matugenConfigText = import ../_private/matugen-config.nix { + inherit + lib + home + hyprlandEnabled + ohMyPoshEnabled + discordEnabled + obsidianSnippetDirs + ; + }; + # Directory name must match each plugin's `id` in plugin.json. thirdPartyPlugins = { dankVault = inputs.dms-plugin-dank-vault; @@ -107,6 +134,8 @@ wallpaperCarousel = inputs.dms-plugin-wallpaper-carousel; ephemera = inputs.dms-plugin-ephemera; appShortcut = inputs.dms-plugin-app-shortcut; + wvkbdToggle = inputs.dms-plugin-wvkbd-toggle; + rbwLockToggle = inputs.dms-plugin-rbw-lock-toggle; }; shipThirdPartyPlugin = @@ -123,29 +152,6 @@ in { ]; config = lib.mkIf dmsEnabled (lib.mkMerge [ - (lib.mkIf (dmsOs.enableWvkbdToggle or false) { - xdg.configFile."DankMaterialShell/plugins/wvkbd-toggle/plugin.json".source = - ../plugins/wvkbd-toggle/plugin.json; - xdg.configFile."DankMaterialShell/plugins/wvkbd-toggle/WvkbdToggle.qml".source = - ../plugins/wvkbd-toggle/WvkbdToggle.qml; - xdg.configFile."DankMaterialShell/plugins/wvkbd-toggle/WvkbdToggleSettings.qml".source = - ../plugins/wvkbd-toggle/WvkbdToggleSettings.qml; - }) - (lib.mkIf (dmsOs.enableRbwLockToggle or false) { - # Directory name matches plugin id (same idea as NixMonitor / ideapad wvkbdToggle). - xdg.configFile."DankMaterialShell/plugins/rbwLockToggle/plugin.json" = { - source = ../plugins/rbw-lock-toggle/plugin.json; - onChange = "${dmsRestartOnceScript}"; - }; - xdg.configFile."DankMaterialShell/plugins/rbwLockToggle/RbwLockToggleSettings.qml" = { - source = ../plugins/rbw-lock-toggle/RbwLockToggleSettings.qml; - onChange = "${dmsRestartOnceScript}"; - }; - xdg.configFile."DankMaterialShell/plugins/rbwLockToggle/RbwLockToggle.qml" = { - source = ../plugins/rbw-lock-toggle/RbwLockToggle.qml; - onChange = "${dmsRestartOnceScript}"; - }; - }) (lib.mkIf (dmsOs.bundleThirdPartyPlugins or true) { xdg.configFile = lib.mapAttrs (id: src: shipThirdPartyPlugin id src) thirdPartyPlugins; @@ -211,25 +217,7 @@ in { }; # Detach store symlinks so UI edits survive rebuilds; seed defaults only on a fresh profile. - home.activation.dmsSeedConfig = lib.hm.dag.entryAfter [ "writeBoundary" ] '' - ${lib.concatMapStringsSep "\n" ( - fileName: - let - dest = "${dmsConfigDir}/${fileName}"; - src = dmsSeedSources.${fileName}; - in '' - dest=${lib.escapeShellArg dest} - mkdir -p "$(dirname "$dest")" - if [ -L "$dest" ]; then - ${pkgs.coreutils}/bin/cp --remove-destination -L "$dest" "$dest" - fi - if [ ! -e "$dest" ]; then - ${pkgs.coreutils}/bin/cp ${lib.escapeShellArg src} "$dest" - chmod u+w "$dest" - fi - '' - ) (lib.attrNames dmsSeedSources)} - ''; + home.activation.dmsSeedConfig = lib.hm.dag.entryAfter [ "writeBoundary" ] "${dmsSeedConfigScript}"; # matugen won't create missing output_path parents; run before DMS theme generation. systemd.user.services.dms.serviceConfig.ExecStartPre = @@ -238,38 +226,7 @@ in { # DMS / matugen custom templates. # # DMS docs (custom templates): https://danklinux.com/docs/dankmaterialshell/application-themes#custom-matugen-templates - xdg.configFile."matugen/config.toml".text = - '' - [config] - '' - + lib.optionalString hyprlandEnabled '' - [templates.hyprland] - input_path = '${home}/.config/matugen/templates/hyprland-colors.conf' - output_path = '${home}/.config/hypr/colors.conf' - '' - + lib.optionalString ohMyPoshEnabled '' - - [templates.ohmyposh] - input_path = '${home}/.config/matugen/templates/ohmyposh-theme.omp.json' - output_path = '${home}/.config/oh-my-posh/theme.omp.json' - '' - + lib.optionalString discordEnabled '' - - [templates.dank-discord] - input_path = '${home}/.config/matugen/templates/dank-discord.css' - output_path = '${home}/.config/vesktop/themes/dank-discord.css' - '' - + lib.optionalString (obsidianSnippetDirs != []) ( - lib.concatStringsSep "\n" ( - lib.lists.imap0 (i: snippetDir: '' - - [templates.Obsidian${toString i}] - input_path = '${home}/.config/matugen/templates/obsidian-minimal-matugen-colors.css' - output_path = '${snippetDir}/matugen.css' - '') obsidianSnippetDirs - ) - ) - ; + xdg.configFile."matugen/config.toml".text = matugenConfigText; xdg.configFile."matugen/templates/dank-discord.css".source = ../templates/dank-discord.css; xdg.configFile."matugen/templates/hyprland-colors.conf".source = ../templates/hyprland-colors.conf; diff --git a/modules/desktop/shells/dms/home-manager/scripts/dms-restart-once.sh b/modules/desktop/shells/dms/home-manager/scripts/dms-restart-once.sh new file mode 100644 index 0000000..0c442a6 --- /dev/null +++ b/modules/desktop/shells/dms/home-manager/scripts/dms-restart-once.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -euo pipefail +rt="${XDG_RUNTIME_DIR:-/run/user/$(id -u)}" +exec 9>"$rt/dms-plugin-restart.lock" +@FLOCK@ -n 9 || exit 0 +cache="${XDG_CACHE_HOME:-$HOME/.cache}/quickshell/qmlcache" +rm -rf "$cache" +@SYSTEMCTL@ --user try-restart dms.service 2>/dev/null || true diff --git a/modules/desktop/shells/dms/plugins/rbw-lock-toggle/RbwLockToggle.qml b/modules/desktop/shells/dms/plugins/rbw-lock-toggle/RbwLockToggle.qml deleted file mode 100644 index c36bc2d..0000000 --- a/modules/desktop/shells/dms/plugins/rbw-lock-toggle/RbwLockToggle.qml +++ /dev/null @@ -1,80 +0,0 @@ -import QtQuick -import Quickshell -import Quickshell.Io -import qs.Common -import qs.Services -import qs.Widgets -import qs.Modules.Plugins - -PluginComponent { - id: root - - property bool vaultUnlocked: false - - function refreshLockState() { - if (!statusProcess.running) - statusProcess.exec(["rbw", "unlocked"]); - } - - function toggleLock() { - if (root.vaultUnlocked) { - Quickshell.execDetached(["rbw", "lock"]); - } else { - Quickshell.execDetached(["rbw", "unlock"]); - } - } - - pillClickAction: () => root.toggleLock() - - Component.onCompleted: refreshLockState() - - Timer { - interval: 2500 - repeat: true - running: true - onTriggered: root.refreshLockState() - } - - Process { - id: statusProcess - command: ["rbw", "unlocked"] - onExited: (exitCode, _exitStatus) => { - root.vaultUnlocked = exitCode === 0; - } - } - - horizontalBarPill: Component { - MouseArea { - implicitWidth: iconH.implicitWidth - implicitHeight: iconH.implicitHeight - hoverEnabled: true - cursorShape: Qt.PointingHandCursor - onClicked: root.toggleLock() - - DankIcon { - id: iconH - name: root.vaultUnlocked ? "lock_open_right" : "lock" - size: root.iconSize - color: parent.containsMouse ? Theme.primary : Theme.surfaceText - } - } - } - - verticalBarPill: Component { - MouseArea { - implicitWidth: iconV.implicitWidth - implicitHeight: iconV.implicitHeight - hoverEnabled: true - cursorShape: Qt.PointingHandCursor - onClicked: root.toggleLock() - - DankIcon { - id: iconV - name: root.vaultUnlocked ? "lock_open_right" : "lock" - size: root.iconSize - color: parent.containsMouse ? Theme.primary : Theme.surfaceText - anchors.horizontalCenter: parent.horizontalCenter - } - } - } -} diff --git a/modules/desktop/shells/dms/plugins/rbw-lock-toggle/RbwLockToggleSettings.qml b/modules/desktop/shells/dms/plugins/rbw-lock-toggle/RbwLockToggleSettings.qml deleted file mode 100644 index 6e879e0..0000000 --- a/modules/desktop/shells/dms/plugins/rbw-lock-toggle/RbwLockToggleSettings.qml +++ /dev/null @@ -1,16 +0,0 @@ -import QtQuick -import qs.Common -import qs.Modules.Plugins - -PluginSettings { - id: root - pluginId: "rbwLockToggle" - - StyledText { - width: parent.width - text: "Shows rbw vault state with a closed lock (locked) or open lock (unlocked). Click to run `rbw unlock` (pinentry) or `rbw lock`. Requires `rbw` on PATH in the DMS session and a working pinentry." - font.pixelSize: Theme.fontSizeSmall - color: Theme.surfaceVariantText - wrapMode: Text.WordWrap - } -} diff --git a/modules/desktop/shells/dms/plugins/rbw-lock-toggle/plugin.json b/modules/desktop/shells/dms/plugins/rbw-lock-toggle/plugin.json deleted file mode 100644 index c951ded..0000000 --- a/modules/desktop/shells/dms/plugins/rbw-lock-toggle/plugin.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "id": "rbwLockToggle", - "name": "Bitwarden (rbw) lock", - "description": "Bar control for rbw vault: locked/unlocked padlock; click to unlock or lock", - "version": "1.0.0", - "author": "chiasson.cloud", - "type": "widget", - "capabilities": ["dankbar-widget"], - "component": "./RbwLockToggle.qml", - "settings": "./RbwLockToggleSettings.qml", - "icon": "lock_open", - "permissions": ["settings_read"] -} diff --git a/modules/desktop/shells/dms/plugins/wvkbd-toggle/WvkbdToggle.qml b/modules/desktop/shells/dms/plugins/wvkbd-toggle/WvkbdToggle.qml deleted file mode 100644 index 4986df5..0000000 --- a/modules/desktop/shells/dms/plugins/wvkbd-toggle/WvkbdToggle.qml +++ /dev/null @@ -1,51 +0,0 @@ -import QtQuick -import Quickshell -import qs.Common -import qs.Services -import qs.Widgets -import qs.Modules.Plugins - -PluginComponent { - id: root - - function toggleKeyboard() { - Quickshell.execDetached(["sh", "-c", "pkill -SIGRTMIN -x wvkbd-mobintl"]); - } - - pillClickAction: () => root.toggleKeyboard() - - horizontalBarPill: Component { - MouseArea { - implicitWidth: icon.implicitWidth - implicitHeight: icon.implicitHeight - hoverEnabled: true - cursorShape: Qt.PointingHandCursor - onClicked: root.toggleKeyboard() - - DankIcon { - id: icon - name: "keyboard" - size: Theme.iconSize - color: parent.containsMouse ? Theme.primary : Theme.surfaceText - } - } - } - - verticalBarPill: Component { - MouseArea { - implicitWidth: iconV.implicitWidth - implicitHeight: iconV.implicitHeight - hoverEnabled: true - cursorShape: Qt.PointingHandCursor - onClicked: root.toggleKeyboard() - - DankIcon { - id: iconV - name: "keyboard" - size: Theme.iconSize - color: parent.containsMouse ? Theme.primary : Theme.surfaceText - anchors.horizontalCenter: parent.horizontalCenter - } - } - } -} diff --git a/modules/desktop/shells/dms/plugins/wvkbd-toggle/WvkbdToggleSettings.qml b/modules/desktop/shells/dms/plugins/wvkbd-toggle/WvkbdToggleSettings.qml deleted file mode 100644 index d7a2fed..0000000 --- a/modules/desktop/shells/dms/plugins/wvkbd-toggle/WvkbdToggleSettings.qml +++ /dev/null @@ -1,16 +0,0 @@ -import QtQuick -import qs.Common -import qs.Modules.Plugins - -PluginSettings { - id: root - pluginId: "wvkbdToggle" - - StyledText { - width: parent.width - text: "Click the keyboard icon in the bar to show or hide the on-screen keyboard (wvkbd)." - font.pixelSize: Theme.fontSizeSmall - color: Theme.surfaceVariantText - wrapMode: Text.WordWrap - } -} diff --git a/modules/desktop/shells/dms/plugins/wvkbd-toggle/plugin.json b/modules/desktop/shells/dms/plugins/wvkbd-toggle/plugin.json deleted file mode 100644 index ee9220b..0000000 --- a/modules/desktop/shells/dms/plugins/wvkbd-toggle/plugin.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "id": "wvkbdToggle", - "name": "Virtual Keyboard Toggle", - "description": "Bar button to show/hide the wvkbd on-screen keyboard (for touch/tablet)", - "version": "1.0.0", - "author": "chiasson.cloud", - "type": "widget", - "capabilities": ["dankbar-widget"], - "component": "./WvkbdToggle.qml", - "settings": "./WvkbdToggleSettings.qml", - "icon": "keyboard", - "permissions": ["settings_read"] -} diff --git a/modules/hosts/14900k/configuration.nix b/modules/hosts/14900k/configuration.nix index 07022da..f117141 100644 --- a/modules/hosts/14900k/configuration.nix +++ b/modules/hosts/14900k/configuration.nix @@ -69,7 +69,6 @@ "--flake" ".#14900k" ]; - enableRbwLockToggle = true; defaultSeedDir = ./_private/dms-defaults; }; }; diff --git a/modules/hosts/ideapad/configuration.nix b/modules/hosts/ideapad/configuration.nix index cc45dff..0114167 100644 --- a/modules/hosts/ideapad/configuration.nix +++ b/modules/hosts/ideapad/configuration.nix @@ -90,8 +90,6 @@ defaultSession = "niri"; shell = "dms"; shells.dms = { - enableWvkbdToggle = true; - enableRbwLockToggle = true; # Cross-build on the 14900k via binfmt and push back over LAN — much faster than # rebuilding aarch64 closure on the Snapdragon. Mirrors the old NixOS-New flow: # ssh out to nixdesk, run nixos-rebuild --target-host pointing back at us. diff --git a/modules/hosts/t2mbp/configuration.nix b/modules/hosts/t2mbp/configuration.nix index b46008a..4f803fb 100644 --- a/modules/hosts/t2mbp/configuration.nix +++ b/modules/hosts/t2mbp/configuration.nix @@ -79,9 +79,6 @@ }; defaultSession = "niri"; shell = "dms"; - shells.dms = { - enableRbwLockToggle = true; - }; }; chiasson.system = { diff --git a/modules/hosts/uConsole/configuration.nix b/modules/hosts/uConsole/configuration.nix index 22ad0ee..06408ac 100644 --- a/modules/hosts/uConsole/configuration.nix +++ b/modules/hosts/uConsole/configuration.nix @@ -66,9 +66,6 @@ }; defaultSession = "niri"; shell = "dms"; - shells.dms = { - enableWvkbdToggle = true; - }; }; chiasson.system = { audio.enable = true;