From dfe1ecadbb03a9e9311da0471caafc65e4c798df Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Fri, 29 May 2026 12:37:47 +0800
Subject: [PATCH] Prepare 7.8.1 release notes and defaults

---
 Apptag/OverlayWindowController.swift |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/Apptag/OverlayWindowController.swift b/Apptag/OverlayWindowController.swift
index 03f74f2..99ac779 100644
--- a/Apptag/OverlayWindowController.swift
+++ b/Apptag/OverlayWindowController.swift
@@ -2,8 +2,18 @@
 import SwiftUI
 
 final class OverlayPanel: NSPanel {
+    var handleOverlayKeyEvent: ((NSEvent) -> Bool)?
+
     override var canBecomeKey: Bool { true }
     override var canBecomeMain: Bool { true }
+
+    override func sendEvent(_ event: NSEvent) {
+        if event.type == .keyDown,
+           handleOverlayKeyEvent?(event) == true {
+            return
+        }
+        super.sendEvent(event)
+    }
 
     override func constrainFrameRect(_ frameRect: NSRect, to screen: NSScreen?) -> NSRect {
         frameRect
@@ -19,6 +29,7 @@
         let currentOverlayLevel: () -> NSWindow.Level
         let overlayLevel: (_ initialQuickSearchSource: String?) -> NSWindow.Level
         let makeContentView: (_ initialQuickSearchSource: String?) -> NSView
+        let handleOverlayKeyEvent: (NSEvent) -> Bool
         let installOverlayKeyMonitor: () -> Void
         let removeOverlayKeyMonitor: () -> Void
         let removeQuickSearchMouseMonitor: () -> Void
@@ -215,6 +226,7 @@
         panel.titlebarAppearsTransparent = true
         panel.titleVisibility = .hidden
         panel.isReleasedWhenClosed = false
+        panel.handleOverlayKeyEvent = dependencies.handleOverlayKeyEvent
         panel.contentView = dependencies.makeContentView(initialQuickSearchSource)
         return panel
     }

--
Gitblit v1.9.3