From e30897a56e856541906239a769bc3d769952487f Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Sat, 19 Mar 2022 13:39:09 +0800 Subject: [PATCH] IME // Add NSApp.setActivationPolicy(.accessory). - This ensures application focus when it has a window show up. --- Source/Modules/AppDelegate.swift | 4 ++++ Source/Modules/IMEModules/ctlInputMethod.swift | 1 + 2 files changed, 5 insertions(+) diff --git a/Source/Modules/AppDelegate.swift b/Source/Modules/AppDelegate.swift index f88074fc..d80355ca 100644 --- a/Source/Modules/AppDelegate.swift +++ b/Source/Modules/AppDelegate.swift @@ -200,6 +200,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, ctlNonModalAlertWindowDelega ctlPrefWindowInstance?.window?.orderFrontRegardless() // 逼著屬性視窗往最前方顯示 ctlPrefWindowInstance?.window?.level = .statusBar ctlPrefWindowInstance?.window?.titlebarAppearsTransparent = true + NSApp.setActivationPolicy(.accessory) } // New About Window @@ -210,6 +211,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, ctlNonModalAlertWindowDelega ctlAboutWindowInstance?.window?.center() ctlAboutWindowInstance?.window?.orderFrontRegardless() // 逼著關於視窗往最前方顯示 ctlAboutWindowInstance?.window?.level = .statusBar + NSApp.setActivationPolicy(.accessory) } @objc(checkForUpdate) @@ -257,6 +259,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, ctlNonModalAlertWindowDelega report.versionDescription) IME.prtDebugIntel("vChewingDebug: \(content)") ctlNonModalAlertWindow.shared.show(title: NSLocalizedString("New Version Available", comment: ""), content: content, confirmButtonTitle: NSLocalizedString("Visit Website", comment: ""), cancelButtonTitle: NSLocalizedString("Not Now", comment: ""), cancelAsDefault: false, delegate: self) + NSApp.setActivationPolicy(.accessory) case .noNeedToUpdate, .ignored: break } @@ -268,6 +271,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, ctlNonModalAlertWindowDelega let buttonTitle = NSLocalizedString("Dismiss", comment: "") IME.prtDebugIntel("vChewingDebug: \(content)") ctlNonModalAlertWindow.shared.show(title: title, content: content, confirmButtonTitle: buttonTitle, cancelButtonTitle: nil, cancelAsDefault: false, delegate: nil) + NSApp.setActivationPolicy(.accessory) default: break } diff --git a/Source/Modules/IMEModules/ctlInputMethod.swift b/Source/Modules/IMEModules/ctlInputMethod.swift index e261db88..7b7a11a3 100644 --- a/Source/Modules/IMEModules/ctlInputMethod.swift +++ b/Source/Modules/IMEModules/ctlInputMethod.swift @@ -282,6 +282,7 @@ class ctlInputMethod: IMKInputController { if !mgrLangModel.checkIfUserLanguageModelFilesExist() { let content = String(format: NSLocalizedString("Please check the permission at \"%@\".", comment: ""), mgrLangModel.dataFolderPath) ctlNonModalAlertWindow.shared.show(title: NSLocalizedString("Unable to create the user phrase file.", comment: ""), content: content, confirmButtonTitle: NSLocalizedString("OK", comment: ""), cancelButtonTitle: nil, cancelAsDefault: false, delegate: nil) + NSApp.setActivationPolicy(.accessory) return false } return true