mirror of
https://github.com/MonitorControl/MonitorControl.git
synced 2026-05-15 14:15:55 -06:00
sorting by name added
This commit is contained in:
parent
81170cd7fc
commit
58df4c9e9f
5 changed files with 41 additions and 10 deletions
|
|
@ -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)";
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
<key>CFBundleShortVersionString</key>
|
||||
<string>$(MARKETING_VERSION)</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>7122</string>
|
||||
<string>7141</string>
|
||||
<key>LSApplicationCategoryType</key>
|
||||
<string>public.app-category.utilities</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
<key>CFBundleShortVersionString</key>
|
||||
<string>$(MARKETING_VERSION)</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>7122</string>
|
||||
<string>7141</string>
|
||||
<key>LSApplicationCategoryType</key>
|
||||
<string>public.app-category.utilities</string>
|
||||
<key>LSBackgroundOnly</key>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue