From bcceca83ce966598e00e0319d85ec11d6df9d272 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Tue, 30 Jun 2026 03:44:54 +0800
Subject: [PATCH] Freeze TagLauncher 8.2.8 build 20260630.0128

---
 src/Apptag/ApptagApp.swift |   31 ++++++++++++++++++++++++-------
 1 files changed, 24 insertions(+), 7 deletions(-)

diff --git a/src/Apptag/ApptagApp.swift b/src/Apptag/ApptagApp.swift
index 8ce54cd..0166772 100644
--- a/src/Apptag/ApptagApp.swift
+++ b/src/Apptag/ApptagApp.swift
@@ -34,6 +34,8 @@
 }
 
 final class AppDelegate: NSObject, NSApplicationDelegate, NSMenuDelegate {
+    static private(set) weak var shared: AppDelegate?
+
     private static let showDockIconKey = "showDockIcon"
     private static let statusItemAutosaveName = AppIdentity.statusItemAutosaveName
     private static let statusItemButtonIdentifier = NSUserInterfaceItemIdentifier("TagLauncherStatusItemButton")
@@ -63,6 +65,7 @@
     private var quickSearchHotkeyRef: EventHotKeyRef?
     private var overlaySpaceHotkeyRef: EventHotKeyRef?
     private var hotkeyEventHandlerInstalled = false
+    private var configuredHotkeysSuspendedForRecording = false
     private var isQuickSearchOpen = false
     private var quickSearchShouldHideOverlayOnClose = false
     private var quickSearchOnlyOverlaySession = false
@@ -77,6 +80,11 @@
     private var overlayOpenedByQuickSearchOnly = false
     private var didFinishLaunching = false
     private var pendingShowOverlayInvocation = false
+
+    override init() {
+        super.init()
+        Self.shared = self
+    }
 
     private lazy var overlayController = OverlayWindowController(
         dependencies: OverlayWindowController.Dependencies(
@@ -1273,9 +1281,23 @@
     // MARK: - Global Hotkeys
 
     private func registerConfiguredHotkeys() {
+        guard !configuredHotkeysSuspendedForRecording else { return }
         installHotkeyEventHandlerIfNeeded()
         registerEffectiveHotkey(.main)
         registerEffectiveHotkey(.quickSearch)
+    }
+
+    func suspendConfiguredHotkeysForRecording() {
+        guard !configuredHotkeysSuspendedForRecording else { return }
+        configuredHotkeysSuspendedForRecording = true
+        unregisterHotkey(for: .main)
+        unregisterHotkey(for: .quickSearch)
+    }
+
+    func resumeConfiguredHotkeysAfterRecording() {
+        guard configuredHotkeysSuspendedForRecording else { return }
+        configuredHotkeysSuspendedForRecording = false
+        registerConfiguredHotkeys()
     }
 
     private func registerEffectiveHotkey(_ kind: LauncherHotkeyKind) {
@@ -1918,12 +1940,7 @@
         ) { [weak self] event in
             guard let self, self.isQuickSearchOpen else { return event }
             if event.window === self.overlayWindow {
-                NotificationCenter.default.post(
-                    name: .tagLauncherQuickSearchDismissRequested,
-                    object: nil,
-                    userInfo: ["source": QuickSearchDismissSource.mouse]
-                )
-                return nil
+                return event
             }
             return event
         }
@@ -1986,7 +2003,7 @@
     }
 
     @objc private func openProStatusFromStatusMenu(_ sender: NSMenuItem) {
-        openPreferences(targetTab: SettingsTabTarget.about)
+        openPreferences(targetTab: SettingsTabTarget.pro)
     }
 
     private func openPreferences(targetTab: String?) {

--
Gitblit v1.9.3