@@ -5,14 +5,15 @@ import Foundation
55import os. log
66
77class Display : Equatable {
8- internal let identifier : CGDirectDisplayID
9- internal let prefsId : String
10- internal var name : String
11- internal var vendorNumber : UInt32 ?
12- internal var modelNumber : UInt32 ?
13- internal var smoothBrightnessTransient : Float = 1
14- internal var smoothBrightnessRunning : Bool = false
15- internal var smoothBrightnessSlow : Bool = false
8+ let identifier : CGDirectDisplayID
9+ let prefsId : String
10+ var name : String
11+ var vendorNumber : UInt32 ?
12+ var modelNumber : UInt32 ?
13+ var serialNumber : UInt32 ?
14+ var smoothBrightnessTransient : Float = 1
15+ var smoothBrightnessRunning : Bool = false
16+ var smoothBrightnessSlow : Bool = false
1617 let swBrightnessSemaphore = DispatchSemaphore ( value: 1 )
1718
1819 static func == ( lhs: Display , rhs: Display ) -> Bool {
@@ -62,15 +63,16 @@ class Display: Equatable {
6263 ( key ?? PrefKey . value) . rawValue + ( command != nil ? String ( ( command ?? Command . none) . rawValue) : " " ) + self . prefsId
6364 }
6465
65- internal init ( _ identifier: CGDirectDisplayID , name: String , vendorNumber: UInt32 ? , modelNumber: UInt32 ? , isVirtual: Bool = false , isDummy: Bool = false ) {
66+ init ( _ identifier: CGDirectDisplayID , name: String , vendorNumber: UInt32 ? , modelNumber: UInt32 ? , serialNumber : UInt32 ? , isVirtual: Bool = false , isDummy: Bool = false ) {
6667 self . identifier = identifier
6768 self . name = name
6869 self . vendorNumber = vendorNumber
6970 self . modelNumber = modelNumber
70- self . prefsId = " ( " + String( name. filter { !$0. isWhitespace } ) + String( vendorNumber ?? 0 ) + String( modelNumber ?? 0 ) + " @ " + String( identifier) + " ) "
71- os_log ( " Display init with prefsIdentifier %{public}@ " , type: . info, self . prefsId)
71+ self . serialNumber = serialNumber
7272 self . isVirtual = DEBUG_VIRTUAL ? true : isVirtual
7373 self . isDummy = isDummy
74+ self . prefsId = " ( \( name. filter { !$0. isWhitespace } ) \( vendorNumber ?? 0 ) \( modelNumber ?? 0 ) @ \( self . isVirtual ? ( self . serialNumber ?? 9999 ) : identifier) ) "
75+ os_log ( " Display init with prefsIdentifier %{public}@ " , type: . info, self . prefsId)
7476 self . swUpdateDefaultGammaTable ( )
7577 self . smoothBrightnessTransient = self . getBrightness ( )
7678 if self . isVirtual || self . readPrefAsBool ( key: PrefKey . avoidGamma) , !self . isDummy {
0 commit comments