From f9c0c0a48019fad329a4da195e0838d40925d986 Mon Sep 17 00:00:00 2001 From: wxlyyy <1556588440@qq.com> Date: Tue, 25 Nov 2025 19:11:17 +0800 Subject: [PATCH] Launcher: allow switching between plugins via IPC --- Services/Control/IPCService.qml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Services/Control/IPCService.qml b/Services/Control/IPCService.qml index ed1641da..4b3a51b4 100644 --- a/Services/Control/IPCService.qml +++ b/Services/Control/IPCService.qml @@ -95,28 +95,33 @@ Item { function toggle() { root.withTargetScreen(screen => { var launcherPanel = PanelService.getPanel("launcherPanel", screen); - launcherPanel?.toggle(); + if (!launcherPanel?.windowActive || (launcherPanel?.windowActive && !launcherPanel?.activePlugin)) + launcherPanel?.toggle(); + launcherPanel?.setSearchText(""); }); } function clipboard() { root.withTargetScreen(screen => { var launcherPanel = PanelService.getPanel("launcherPanel", screen); + if (!launcherPanel?.windowActive || (launcherPanel?.windowActive && launcherPanel?.searchText.startsWith(">clip"))) + launcherPanel?.toggle(); launcherPanel?.setSearchText(">clip "); - launcherPanel?.toggle(); }); } function calculator() { root.withTargetScreen(screen => { var launcherPanel = PanelService.getPanel("launcherPanel", screen); + if (!launcherPanel?.windowActive || (launcherPanel?.windowActive && launcherPanel?.searchText.startsWith(">calc"))) + launcherPanel?.toggle(); launcherPanel?.setSearchText(">calc "); - launcherPanel?.toggle(); }); } function emoji() { root.withTargetScreen(screen => { var launcherPanel = PanelService.getPanel("launcherPanel", screen); + if (!launcherPanel?.windowActive || (launcherPanel?.windowActive && launcherPanel?.searchText.startsWith(">emoji"))) + launcherPanel?.toggle(); launcherPanel?.setSearchText(">emoji "); - launcherPanel?.toggle(); }); } }