From 9fbe88b5854d2dce9bcd7725c120d64237df134d Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Tue, 02 Jun 2026 19:53:57 +0800
Subject: [PATCH] Add 7.8.9 rollback test package manifest

---
 Apptag/QuickSearch.swift |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/Apptag/QuickSearch.swift b/Apptag/QuickSearch.swift
index aab4e8f..5a09ef3 100644
--- a/Apptag/QuickSearch.swift
+++ b/Apptag/QuickSearch.swift
@@ -1385,7 +1385,9 @@
 
     override func mouseDown(with event: NSEvent) {
         if let result {
-            onLaunch(result)
+            DispatchQueue.main.async { [onLaunch] in
+                onLaunch(result)
+            }
         } else {
             super.mouseDown(with: event)
         }
@@ -1524,11 +1526,17 @@
     }
 
     private func requestFocus(_ field: QuickSearchNativeTextField) {
-        DispatchQueue.main.async { [weak field] in
-            guard let field,
-                  field.window?.firstResponder !== field
-            else { return }
-            field.window?.makeFirstResponder(field)
+        for delay in [0.0, 0.03, 0.08, 0.16] {
+            DispatchQueue.main.asyncAfter(deadline: .now() + delay) { [weak field] in
+                guard let field,
+                      let window = field.window,
+                      window.isVisible,
+                      window.firstResponder !== field
+                else { return }
+                window.makeKeyAndOrderFront(nil)
+                window.orderFrontRegardless()
+                window.makeFirstResponder(field)
+            }
         }
     }
 
@@ -1578,6 +1586,8 @@
 private final class QuickSearchNativeTextField: NSTextField {
     var onCommand: ((QuickSearchCommand) -> Void)?
 
+    override var acceptsFirstResponder: Bool { true }
+
     override func keyDown(with event: NSEvent) {
         switch Int(event.keyCode) {
         case kVK_UpArrow:

--
Gitblit v1.9.3