From b993097234e0d0410f138e3608f33cac34d90386 Mon Sep 17 00:00:00 2001 From: Ryan Hanson Date: Sat, 27 Apr 2024 22:25:52 -0700 Subject: [PATCH] Fix bug with swapped stage manager position for RTL languages --- Rectangle/Utilities/StageUtil.swift | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Rectangle/Utilities/StageUtil.swift b/Rectangle/Utilities/StageUtil.swift index 2fbc2a52..65b95e3c 100644 --- a/Rectangle/Utilities/StageUtil.swift +++ b/Rectangle/Utilities/StageUtil.swift @@ -33,10 +33,18 @@ class StageUtil { } static var stageStripPosition: StageStripPosition { - guard let value = dockDefaults?.object(forKey: "orientation") as? String else { + switch dockDefaults?.string(forKey: "orientation") { + case "left": + return .right + case "right": return .left + default: // bottom + var isRTL = false + if #available(macOS 13, *), Locale.current.language.characterDirection == .rightToLeft { + isRTL = true + } + return isRTL ? .right : .left } - return value == "left" ? .right : .left } static func isStageStripVisible(_ screen: NSScreen? = .main) -> Bool {