From 8fec0d26e8637a1c96dbcac841417fdd176d480a Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Sun, 07 Jun 2026 01:28:37 +0800
Subject: [PATCH] docs: add App Store Connect filling guide
---
Apptag/OverlayWindowController.swift | 16 ++++++++++++----
1 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/Apptag/OverlayWindowController.swift b/Apptag/OverlayWindowController.swift
index 1472d2e..5ca9317 100644
--- a/Apptag/OverlayWindowController.swift
+++ b/Apptag/OverlayWindowController.swift
@@ -130,6 +130,7 @@
initialQuickSearchSource: initialQuickSearchSource
)
generation &+= 1
+ let showGeneration = generation
window = newWindow
dependencies.installOverlayKeyMonitor()
if shouldStageAsAccessory {
@@ -149,6 +150,7 @@
let placementFrame = placement.frame
let finishForegroundClaim: () -> Void = { [weak self, weak newWindow] in
guard let self, let newWindow, self.window === newWindow else { return }
+ guard self.generation == showGeneration, newWindow.isVisible else { return }
self.dependencies.refreshChromeState(!shouldAvoidSpaceSwitch, shouldAvoidSpaceSwitch)
if newWindow.frame != placementFrame {
newWindow.setFrame(placementFrame, display: true)
@@ -157,6 +159,7 @@
for delay in [0.2, 0.5] {
DispatchQueue.main.asyncAfter(deadline: .now() + delay) { [weak self, weak newWindow] in
guard let self, let newWindow, self.window === newWindow else { return }
+ guard self.generation == showGeneration, newWindow.isVisible else { return }
guard newWindow.frame != placementFrame else { return }
newWindow.setFrame(placementFrame, display: true)
self.orderFront(newWindow)
@@ -182,15 +185,20 @@
if let settingsWindow = dependencies.settingsWindow(), settingsWindow.parent == window {
dependencies.detachSettingsWindow(settingsWindow)
}
- window?.orderOut(nil)
+ let windowToHide = window
+ windowToHide?.ignoresMouseEvents = true
+ windowToHide?.alphaValue = 0
+ windowToHide?.orderOut(nil)
dependencies.removeOverlayKeyMonitor()
dependencies.removeQuickSearchMouseMonitor()
+ windowToHide?.contentView = nil
+ windowToHide?.close()
+ if window === windowToHide {
+ window = nil
+ }
avoidsSpaceSwitch = false
dependencies.refreshChromeState(false, false)
dependencies.onDidHide()
- if discardWindow {
- window = nil
- }
}
func screenUnderMouse() -> NSScreen? {
--
Gitblit v1.9.3