From 6cb8a3b67a8906638e3e8ef752f4e27cdad31641 Mon Sep 17 00:00:00 2001 From: bbedward Date: Fri, 25 Sep 2026 09:34:51 -0400 Subject: [PATCH] launcher: restore focus ring to spotlight and respect global setting --- dank-qml-common | 2 +- .../Modals/DankLauncherV2/Components/LauncherSearchField.qml | 1 - .../Modals/DankLauncherV2/SpotlightLauncherContent.qml | 2 +- quickshell/Modules/Lock/LockScreenContent.qml | 5 +++-- quickshell/Modules/Settings/PluginCard.qml | 5 +++-- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/dank-qml-common b/dank-qml-common index 4b9a18dc9..ef447dfb4 160000 --- a/dank-qml-common +++ b/dank-qml-common @@ -1 +1 @@ -Subproject commit 4b9a18dc9cce81731d266ba1e89c75786776ba75 +Subproject commit ef447dfb47deb54e9767d6a423124093deaf50da diff --git a/quickshell/Modals/DankLauncherV2/Components/LauncherSearchField.qml b/quickshell/Modals/DankLauncherV2/Components/LauncherSearchField.qml index ce343b891..83692560e 100644 --- a/quickshell/Modals/DankLauncherV2/Components/LauncherSearchField.qml +++ b/quickshell/Modals/DankLauncherV2/Components/LauncherSearchField.qml @@ -59,7 +59,6 @@ DankSearchField { font.pixelSize: Theme.fontSizeLarge backgroundColor: flat ? "transparent" : Theme.chipSurface normalBorderColor: flat ? "transparent" : Theme.outlineVariant - focusedBorderColor: flat ? "transparent" : Theme.focusRingColor leadingContent: pluginName ? pluginBadge : null rightAccessoryWidth: modeViewport.visible ? modeViewport.width + Theme.spacingS : 0 diff --git a/quickshell/Modals/DankLauncherV2/SpotlightLauncherContent.qml b/quickshell/Modals/DankLauncherV2/SpotlightLauncherContent.qml index c28d06527..0943892fd 100644 --- a/quickshell/Modals/DankLauncherV2/SpotlightLauncherContent.qml +++ b/quickshell/Modals/DankLauncherV2/SpotlightLauncherContent.qml @@ -345,7 +345,7 @@ FocusScope { height: Theme.outlineWidth z: 1 color: Theme.outlineVariant - visible: root._hasQuery + visible: root._hasQuery && !(Theme.focusRingWidth > 0 && searchInput.getActiveFocus()) } ClippingRectangle { diff --git a/quickshell/Modules/Lock/LockScreenContent.qml b/quickshell/Modules/Lock/LockScreenContent.qml index 6f714e071..6d0802ccc 100644 --- a/quickshell/Modules/Lock/LockScreenContent.qml +++ b/quickshell/Modules/Lock/LockScreenContent.qml @@ -615,6 +615,7 @@ Item { property bool showPassword: false property real errorOffset: 0 + readonly property bool focusRingShown: passwordField.activeFocus && Theme.focusRingWidth > 0 transform: Translate { x: Math.max(-LockMetrics.shakeDistance, Math.min(LockMetrics.shakeDistance, passwordBox.errorOffset)) } @@ -623,8 +624,8 @@ Item { Layout.preferredHeight: LockMetrics.fieldHeight radius: Theme.fullRadius(width, height) color: Theme.cardSurface - border.width: passwordField.activeFocus ? Math.max(Theme.outlineWidth, Theme.focusRingWidth) : Theme.layerOutlineWidth - border.color: passwordField.activeFocus ? Theme.focusRingColor : Theme.outlineMedium + border.width: focusRingShown ? Math.max(Theme.outlineWidth, Theme.focusRingWidth) : Theme.layerOutlineWidth + border.color: focusRingShown ? Theme.focusRingColor : Theme.outlineMedium Accessible.name: I18n.tr("Password") visible: SettingsData.lockScreenShowPasswordField || root.passwordBuffer.length > 0 diff --git a/quickshell/Modules/Settings/PluginCard.qml b/quickshell/Modules/Settings/PluginCard.qml index 92b994e33..7700b725a 100644 --- a/quickshell/Modules/Settings/PluginCard.qml +++ b/quickshell/Modules/Settings/PluginCard.qml @@ -20,6 +20,7 @@ DankCard { property real previewHeight: Math.round((width - Theme.spacingS * 2) * SettingsMetrics.choiceCardPreviewRatio) readonly property int infoHeight: Theme.iconButtonSize + Theme.fontSizeSmall * 4 + Theme.spacingS readonly property bool compatible: PluginService.checkPluginCompatibility(plugin.requires_dms) + readonly property bool focusRingShown: selected && Theme.focusRingWidth > 0 signal installRequested signal uninstallRequested @@ -27,8 +28,8 @@ DankCard { implicitHeight: previewHeight + infoHeight + Theme.spacingS * 2 + Theme.spacingM radius: Theme.cornerRadiusM color: Theme.floatingWindowNestedSurface - border.color: selected ? Theme.focusRingColor : Theme.outlineMedium - border.width: selected ? Theme.focusRingWidth : Theme.layerOutlineWidth + border.color: focusRingShown ? Theme.focusRingColor : Theme.outlineMedium + border.width: focusRingShown ? Theme.focusRingWidth : Theme.layerOutlineWidth pad: 0 clickable: true Accessible.name: plugin.name || ""