mgrPrefs // +adjustIMKCandidateWindowLevel, etc.
This commit is contained in:
parent
1efbc9e56d
commit
9b85ce4500
|
@ -54,6 +54,7 @@ public enum UserDef: String, CaseIterable {
|
||||||
case kUseIMKCandidateWindow = "UseIMKCandidateWindow"
|
case kUseIMKCandidateWindow = "UseIMKCandidateWindow"
|
||||||
case kHandleDefaultCandidateFontsByLangIdentifier = "HandleDefaultCandidateFontsByLangIdentifier"
|
case kHandleDefaultCandidateFontsByLangIdentifier = "HandleDefaultCandidateFontsByLangIdentifier"
|
||||||
case kShouldAlwaysUseShiftKeyAccommodation = "ShouldAlwaysUseShiftKeyAccommodation"
|
case kShouldAlwaysUseShiftKeyAccommodation = "ShouldAlwaysUseShiftKeyAccommodation"
|
||||||
|
case kAdjustIMKCandidateWindowLevel = "AdjustIMKCandidateWindowLevel"
|
||||||
|
|
||||||
case kCandidateTextFontName = "CandidateTextFontName"
|
case kCandidateTextFontName = "CandidateTextFontName"
|
||||||
case kCandidateKeyLabelFontName = "CandidateKeyLabelFontName"
|
case kCandidateKeyLabelFontName = "CandidateKeyLabelFontName"
|
||||||
|
@ -296,6 +297,9 @@ public enum mgrPrefs {
|
||||||
UserDefaults.standard.setDefault(
|
UserDefaults.standard.setDefault(
|
||||||
mgrPrefs.shouldAlwaysUseShiftKeyAccommodation, forKey: UserDef.kShouldAlwaysUseShiftKeyAccommodation.rawValue
|
mgrPrefs.shouldAlwaysUseShiftKeyAccommodation, forKey: UserDef.kShouldAlwaysUseShiftKeyAccommodation.rawValue
|
||||||
)
|
)
|
||||||
|
UserDefaults.standard.setDefault(
|
||||||
|
mgrPrefs.adjustIMKCandidateWindowLevel, forKey: UserDef.kAdjustIMKCandidateWindowLevel.rawValue
|
||||||
|
)
|
||||||
|
|
||||||
// -----
|
// -----
|
||||||
|
|
||||||
|
@ -424,6 +428,9 @@ public enum mgrPrefs {
|
||||||
@UserDefault(key: UserDef.kShouldAlwaysUseShiftKeyAccommodation.rawValue, defaultValue: false)
|
@UserDefault(key: UserDef.kShouldAlwaysUseShiftKeyAccommodation.rawValue, defaultValue: false)
|
||||||
static var shouldAlwaysUseShiftKeyAccommodation: Bool
|
static var shouldAlwaysUseShiftKeyAccommodation: Bool
|
||||||
|
|
||||||
|
@UserDefault(key: UserDef.kAdjustIMKCandidateWindowLevel.rawValue, defaultValue: false)
|
||||||
|
static var adjustIMKCandidateWindowLevel: Bool
|
||||||
|
|
||||||
// MARK: - Settings (Tier 3)
|
// MARK: - Settings (Tier 3)
|
||||||
|
|
||||||
static var minCandidateLength: Int {
|
static var minCandidateLength: Int {
|
||||||
|
@ -682,13 +689,18 @@ public enum mgrPrefs {
|
||||||
|
|
||||||
extension mgrPrefs {
|
extension mgrPrefs {
|
||||||
static func fixOddPreferences() {
|
static func fixOddPreferences() {
|
||||||
// 防呆。macOS 10.11 用 IMK 選字窗會崩潰。
|
// 防呆。macOS 10.11 用 IMK 選字窗會崩潰,macOS 10.13 的 IMK 選字窗仍有問題。
|
||||||
if #unavailable(macOS 10.14) { mgrPrefs.useIMKCandidateWindow = false }
|
// 一般人想用的 IMK 選字窗基於 macOS 10.09 系統內建的注音輸入法的那種矩陣選字窗。
|
||||||
|
// 然而,該選字窗的體驗直到 macOS 10.14 開始才在 IMKCandidates 當中正式提供。
|
||||||
|
if #unavailable(macOS 10.14) {
|
||||||
|
mgrPrefs.useIMKCandidateWindow = false
|
||||||
|
mgrPrefs.adjustIMKCandidateWindowLevel = false
|
||||||
|
}
|
||||||
if #unavailable(macOS 10.15) {
|
if #unavailable(macOS 10.15) {
|
||||||
handleDefaultCandidateFontsByLangIdentifier = false
|
mgrPrefs.handleDefaultCandidateFontsByLangIdentifier = false
|
||||||
shouldAlwaysUseShiftKeyAccommodation = false
|
mgrPrefs.shouldAlwaysUseShiftKeyAccommodation = false
|
||||||
disableShiftTogglingAlphanumericalMode = false
|
mgrPrefs.disableShiftTogglingAlphanumericalMode = false
|
||||||
togglingAlphanumericalModeWithLShift = false
|
mgrPrefs.togglingAlphanumericalModeWithLShift = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue