@@ -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