diff --git a/app/Extra.cs b/app/Extra.cs index 44d8f35a..1036be28 100644 --- a/app/Extra.cs +++ b/app/Extra.cs @@ -475,7 +475,16 @@ namespace GHelper { AppConfig.Set("toggle_clamshell_mode", checkAutoToggleClamshellMode.Checked ? 1 : 0); ClamshellModeControl ctrl = new ClamshellModeControl(); - ctrl.ToggleLidAction(); + + if (checkAutoToggleClamshellMode.Checked) + { + ctrl.ToggleLidAction(); + } + else + { + ClamshellModeControl.DisableClamshellMode(); + } + } } } diff --git a/app/Helpers/ClamshellModeControl.cs b/app/Helpers/ClamshellModeControl.cs index b01e86bb..3115a44a 100644 --- a/app/Helpers/ClamshellModeControl.cs +++ b/app/Helpers/ClamshellModeControl.cs @@ -46,17 +46,31 @@ namespace GHelper.Helpers public void ToggleLidAction() { - if (IsInClamshellMode() && IsClamshellEnabled()) + if (!IsClamshellEnabled()) { - PowerNative.SetLidAction(0, true); - Logger.WriteLine("Engaging Clamshell Mode"); + return; + } + + if (IsInClamshellMode()) + { + EnableClamshellMode(); } else { - PowerNative.SetLidAction(1, true); - Logger.WriteLine("Disengaging Clamshell Mode"); + DisableClamshellMode(); } } + public static void DisableClamshellMode() + { + PowerNative.SetLidAction(1, true); + Logger.WriteLine("Disengaging Clamshell Mode"); + } + + public static void EnableClamshellMode() + { + PowerNative.SetLidAction(0, true); + Logger.WriteLine("Engaging Clamshell Mode"); + } public void UnregisterDisplayEvents() {