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