@@ -68,6 +68,12 @@ private func drawColoredTopLine(_ color: NSColor, hideAfter: TimeInterval = 5) {
6868 }
6969}
7070
71+ private struct FadeSecondsConfig : Codable , Equatable {
72+ var connected : Double ? = 5.0
73+ var disconnected : Double ? = 0.0
74+ var slow : Double ? = 10.0
75+ }
76+
7177private enum PingStatus : Equatable {
7278 case reachable( Double )
7379 case timedOut
@@ -83,9 +89,9 @@ private enum PingStatus: Equatable {
8389
8490 var hideAfter : TimeInterval {
8591 switch self {
86- case . reachable: 5
87- case . timedOut: 0
88- case . slow: 10
92+ case . reachable: CONFIG . fadeSeconds ? . connected ?? 5
93+ case . timedOut: CONFIG . fadeSeconds ? . disconnected ?? 0
94+ case . slow: CONFIG . fadeSeconds ? . slow ?? 10
8995 }
9096 }
9197
@@ -253,7 +259,7 @@ func startPingMonitor() {
253259 slowCounter = MAX_COUNTS
254260 fastCounter = MAX_COUNTS
255261 timeoutCounter = MAX_COUNTS
256- lastPingStatus = ms > CONFIG . pingSlowThresholdMilliseconds ? . slow( ms) : . reachable( ms)
262+ lastPingStatus = ( CONFIG . pingSlowThresholdMilliseconds > 0 && ms > CONFIG . pingSlowThresholdMilliseconds) ? . slow( ms) : . reachable( ms)
257263 return
258264 }
259265
@@ -336,6 +342,8 @@ private struct Config: Codable, Equatable {
336342 var pingIntervalSeconds = 5.0
337343 var pingTimeoutSeconds = 1.0
338344 var pingSlowThresholdMilliseconds = 300.0
345+
346+ var fadeSeconds : FadeSecondsConfig ? = FadeSecondsConfig ( )
339347}
340348
341349private var CONFIG_FS_WATCHER : FSEventStreamRef ?
0 commit comments