diff --git a/MonitorControl.xcodeproj/project.pbxproj b/MonitorControl.xcodeproj/project.pbxproj index 0583586..3f5b090 100644 --- a/MonitorControl.xcodeproj/project.pbxproj +++ b/MonitorControl.xcodeproj/project.pbxproj @@ -869,7 +869,7 @@ COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 7100; DEAD_CODE_STRIPPING = YES; - DEVELOPMENT_TEAM = 299YSU96J7; + DEVELOPMENT_TEAM = 8M7T2GX863; ENABLE_HARDENED_RUNTIME = YES; FRAMEWORK_SEARCH_PATHS = ( "$(PROJECT_DIR)/**", @@ -906,7 +906,7 @@ COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 7100; DEAD_CODE_STRIPPING = YES; - DEVELOPMENT_TEAM = 299YSU96J7; + DEVELOPMENT_TEAM = 8M7T2GX863; ENABLE_HARDENED_RUNTIME = YES; FRAMEWORK_SEARCH_PATHS = ( "$(PROJECT_DIR)/**", @@ -946,7 +946,7 @@ COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 7100; DEAD_CODE_STRIPPING = YES; - DEVELOPMENT_TEAM = 299YSU96J7; + DEVELOPMENT_TEAM = 8M7T2GX863; ENABLE_HARDENED_RUNTIME = YES; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = MonitorControlHelper/Info.plist; @@ -954,7 +954,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 15.0; MARKETING_VERSION = 4.1.0; PRODUCT_BUNDLE_IDENTIFIER = app.monitorcontrol.MonitorControlHelper; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -977,7 +977,7 @@ COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 7100; DEAD_CODE_STRIPPING = YES; - DEVELOPMENT_TEAM = 299YSU96J7; + DEVELOPMENT_TEAM = 8M7T2GX863; ENABLE_HARDENED_RUNTIME = YES; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = MonitorControlHelper/Info.plist; @@ -985,7 +985,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 15.0; MARKETING_VERSION = 4.1.0; PRODUCT_BUNDLE_IDENTIFIER = app.monitorcontrol.MonitorControlHelper; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/MonitorControl/Info.plist b/MonitorControl/Info.plist index 6648c50..69810af 100644 --- a/MonitorControl/Info.plist +++ b/MonitorControl/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 7122 + 7141 LSApplicationCategoryType public.app-category.utilities LSMinimumSystemVersion diff --git a/MonitorControl/Support/DisplayManager.swift b/MonitorControl/Support/DisplayManager.swift index 7ace448..f53d5bb 100644 --- a/MonitorControl/Support/DisplayManager.swift +++ b/MonitorControl/Support/DisplayManager.swift @@ -240,8 +240,38 @@ class DisplayManager { self.displays.compactMap { $0 as? OtherDisplay } } + func sortDisplays() { + // Opsiyonel: sıralamadan önce log al + let before = displays.map { $0.name } + os_log("Displays before sorting: %{public}@", before) + + // In‑place sıralama + displays.sort { lhs, rhs in + lhs.name.localizedStandardCompare(rhs.name) == .orderedAscending + } + + // Opsiyonel: sıralamadan sonra log al + let after = displays.map { $0.name } + os_log("Displays after sorting: %{public}@", after) + } + + func sortDisplaysByFriendlyName() -> [Display] { + return displays.sorted { lhs, rhs in + let lhsTitle = lhs.readPrefAsString(key: .friendlyName).isEmpty + ? lhs.name + : lhs.readPrefAsString(key: .friendlyName) + let rhsTitle = rhs.readPrefAsString(key: .friendlyName).isEmpty + ? rhs.name + : rhs.readPrefAsString(key: .friendlyName) + return lhsTitle.localizedStandardCompare(rhsTitle) == .orderedDescending + } + } + + + + /// displays dizisini sıralar ve döner func getAllDisplays() -> [Display] { - self.displays + return displays } func getDdcCapableDisplays() -> [OtherDisplay] { @@ -283,7 +313,7 @@ class DisplayManager { func clearDisplays() { self.displays = [] } - + func addDisplayCounterSuffixes() { var nameDisplays: [String: [Display]] = [:] for display in self.displays { diff --git a/MonitorControl/Support/MenuHandler.swift b/MonitorControl/Support/MenuHandler.swift index fd61cd5..503c607 100644 --- a/MonitorControl/Support/MenuHandler.swift +++ b/MonitorControl/Support/MenuHandler.swift @@ -41,6 +41,7 @@ class MenuHandler: NSMenu, NSMenuDelegate { displays.append(contentsOf: DisplayManager.shared.getAppleDisplays()) } displays.append(contentsOf: DisplayManager.shared.getOtherDisplays()) + displays = DisplayManager.shared.sortDisplaysByFriendlyName() let relevant = prefs.integer(forKey: PrefKey.multiSliders.rawValue) == MultiSliders.relevant.rawValue let combine = prefs.integer(forKey: PrefKey.multiSliders.rawValue) == MultiSliders.combine.rawValue let numOfDisplays = displays.filter { !$0.isDummy }.count diff --git a/MonitorControlHelper/Info.plist b/MonitorControlHelper/Info.plist index 3d3b539..e6cc0a2 100644 --- a/MonitorControlHelper/Info.plist +++ b/MonitorControlHelper/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 7122 + 7141 LSApplicationCategoryType public.app-category.utilities LSBackgroundOnly