From 4e7c4133aba4cba54df9f4d9800f42bb4def6251 Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Tue, 5 Sep 2023 15:42:24 +0800 Subject: [PATCH] PCB // Auto-close out-of-date window instances. --- .../PopupCompositionBuffer/PopupCompositionBuffer.swift | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Packages/vChewing_PopupCompositionBuffer/Sources/PopupCompositionBuffer/PopupCompositionBuffer.swift b/Packages/vChewing_PopupCompositionBuffer/Sources/PopupCompositionBuffer/PopupCompositionBuffer.swift index 33b70075..47f730d8 100644 --- a/Packages/vChewing_PopupCompositionBuffer/Sources/PopupCompositionBuffer/PopupCompositionBuffer.swift +++ b/Packages/vChewing_PopupCompositionBuffer/Sources/PopupCompositionBuffer/PopupCompositionBuffer.swift @@ -10,6 +10,12 @@ import AppKit import Shared public class PopupCompositionBuffer: NSWindowController { + private static var currentWindow: NSWindow? { + willSet { + currentWindow?.orderOut(nil) + } + } + public var isTypingDirectionVertical = false { didSet { if #unavailable(macOS 10.14) { @@ -47,6 +53,7 @@ public class PopupCompositionBuffer: NSWindowController { messageTextField.font = .systemFont(ofSize: 18) panel.contentView?.addSubview(messageTextField) panel.contentView?.wantsLayer = true + Self.currentWindow = panel super.init(window: panel) }