From bf686b1c36163fb0038246a11aa17449b7aee783 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Mon, 23 Jun 2025 19:15:21 +1000 Subject: drawers: give back focus when close For launcher and session, give back focus to previously open one on close Also use execDetached for session buttons --- modules/launcher/Content.qml | 7 ++++++- modules/session/Content.qml | 18 ++++++++---------- 2 files changed, 14 insertions(+), 11 deletions(-) (limited to 'modules') diff --git a/modules/launcher/Content.qml b/modules/launcher/Content.qml index 486b67a..e8c95fd 100644 --- a/modules/launcher/Content.qml +++ b/modules/launcher/Content.qml @@ -107,7 +107,7 @@ Item { function onLauncherChanged(): void { if (root.visibilities.launcher) - search.forceActiveFocus(); + search.focus = true; else { search.text = ""; const current = list.currentList; @@ -115,6 +115,11 @@ Item { current.currentIndex = 0; } } + + function onSessionChanged(): void { + if (root.visibilities.launcher && !root.visibilities.session) + search.focus = true; + } } } diff --git a/modules/session/Content.qml b/modules/session/Content.qml index adf5aa2..40b7da2 100644 --- a/modules/session/Content.qml +++ b/modules/session/Content.qml @@ -4,7 +4,6 @@ import "root:/widgets" import "root:/services" import "root:/config" import Quickshell -import Quickshell.Io import QtQuick Column { @@ -34,6 +33,11 @@ Column { if (root.visibilities.session) logout.focus = true; } + + function onLauncherChanged(): void { + if (root.visibilities.session && !root.visibilities.launcher) + logout.focus = true; + } } } @@ -90,22 +94,16 @@ Column { radius: Appearance.rounding.large color: button.activeFocus ? Colours.palette.m3secondaryContainer : Colours.palette.m3surfaceContainer - Keys.onEnterPressed: proc.startDetached() - Keys.onReturnPressed: proc.startDetached() + Keys.onEnterPressed: Quickshell.execDetached(button.command) + Keys.onReturnPressed: Quickshell.execDetached(button.command) Keys.onEscapePressed: root.visibilities.session = false - Process { - id: proc - - command: button.command - } - StateLayer { radius: parent.radius color: button.activeFocus ? Colours.palette.m3onSecondaryContainer : Colours.palette.m3onSurface function onClicked(): void { - proc.startDetached(); + Quickshell.execDetached(button.command); } } -- cgit v1.2.3-freya