diff --git a/quickshell/DMSShellIPC.qml b/quickshell/DMSShellIPC.qml index 4d7786a5..6ec2d3b6 100644 --- a/quickshell/DMSShellIPC.qml +++ b/quickshell/DMSShellIPC.qml @@ -1063,7 +1063,7 @@ Item { } function toggleQuery(query: string): string { - PopoutService.toggleDankLauncherV2(); + PopoutService.toggleDankLauncherV2WithQuery(query); return "LAUNCHER_TOGGLE_QUERY_SUCCESS"; } @@ -1107,7 +1107,7 @@ Item { } function toggleQuery(query: string): string { - PopoutService.toggleDankLauncherV2(); + PopoutService.toggleDankLauncherV2WithQuery(query); return "SPOTLIGHT_TOGGLE_QUERY_SUCCESS"; } diff --git a/quickshell/Modals/DankLauncherV2/DankLauncherV2Modal.qml b/quickshell/Modals/DankLauncherV2/DankLauncherV2Modal.qml index c35d969d..02d4a1e9 100644 --- a/quickshell/Modals/DankLauncherV2/DankLauncherV2Modal.qml +++ b/quickshell/Modals/DankLauncherV2/DankLauncherV2Modal.qml @@ -186,6 +186,14 @@ Item { } } + function toggleWithQuery(query) { + if (spotlightOpen) { + hide(); + } else { + showWithQuery(query); + } + } + Timer { id: closeCleanupTimer interval: Theme.expressiveDurations.expressiveFastSpatial + 50 diff --git a/quickshell/Services/PopoutService.qml b/quickshell/Services/PopoutService.qml index 50a3e5f0..8d93297a 100644 --- a/quickshell/Services/PopoutService.qml +++ b/quickshell/Services/PopoutService.qml @@ -416,6 +416,17 @@ Singleton { } } + function toggleDankLauncherV2WithQuery(query: string) { + if (dankLauncherV2Modal) { + dankLauncherV2Modal.toggleWithQuery(query); + } else if (dankLauncherV2ModalLoader) { + _dankLauncherV2PendingQuery = query; + _dankLauncherV2WantsOpen = true; + _dankLauncherV2WantsToggle = false; + dankLauncherV2ModalLoader.active = true; + } + } + function _onDankLauncherV2ModalLoaded() { if (_dankLauncherV2WantsOpen) { _dankLauncherV2WantsOpen = false;