summaryrefslogtreecommitdiffstats
path: root/osdep/mac/swift_extensions.swift
diff options
context:
space:
mode:
Diffstat (limited to 'osdep/mac/swift_extensions.swift')
-rw-r--r--osdep/mac/swift_extensions.swift21
1 files changed, 19 insertions, 2 deletions
diff --git a/osdep/mac/swift_extensions.swift b/osdep/mac/swift_extensions.swift
index ed6c86cd2a..e49806aaa0 100644
--- a/osdep/mac/swift_extensions.swift
+++ b/osdep/mac/swift_extensions.swift
@@ -24,9 +24,26 @@ extension NSDeviceDescriptionKey {
extension NSScreen {
public var displayID: CGDirectDisplayID {
- get {
- return deviceDescription[.screenNumber] as? CGDirectDisplayID ?? 0
+ return deviceDescription[.screenNumber] as? CGDirectDisplayID ?? 0
+ }
+
+ public var serialNumber: String {
+ return String(CGDisplaySerialNumber(displayID))
+ }
+
+ public var name: String {
+ guard let regex = try? NSRegularExpression(pattern: " \\(\\d+\\)$", options: .caseInsensitive) else {
+ return localizedName
}
+ return regex.stringByReplacingMatches(
+ in: localizedName,
+ range: NSRange(location: 0, length: localizedName.count),
+ withTemplate: ""
+ )
+ }
+
+ public var uniqueName: String {
+ return name + " (\(serialNumber))"
}
}