From 769b9cad49fe33136dcf2d7c41630fcca826b48a Mon Sep 17 00:00:00 2001 From: Charlie Chiang Date: Wed, 18 Sep 2024 11:33:55 +0800 Subject: [PATCH] feat: turn off MagSafe LED after closing lid --- sleepcallback.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sleepcallback.go b/sleepcallback.go index 8ad0533..2d4730f 100644 --- a/sleepcallback.go +++ b/sleepcallback.go @@ -11,6 +11,8 @@ import ( "time" "github.com/sirupsen/logrus" + + "github.com/charlie0129/batt/smc" ) var ( @@ -109,6 +111,10 @@ func systemWillSleepCallback() { logrus.Errorf("DisableCharging failed: %v", err) return } + err = smcConn.SetMagSafeLedState(smc.LedOff) + if err != nil { + logrus.Errorf("SetMagSafeLedState failed: %v", err) + } } else { logrus.Debugln("no maintained charging is in progress, allow sleep") } @@ -134,6 +140,14 @@ func systemHasPoweredOnCallback() { // Use sleep instead of time.After because when the computer sleeps, we // actually want the sleep to prolong as well. sleep(postSleepLoopDelaySeconds) + + if config.DisableChargingPreSleep { + err := smcConn.SetMagSafeLedState(smc.LedOff) + if err != nil { + logrus.Errorf("SetMagSafeLedState failed: %v", err) + } + } + wg.Done() }() }