mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Adjust power modes only when needed
This commit is contained in:
@@ -16,7 +16,7 @@
|
|||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||||
<AssemblyVersion>0.93</AssemblyVersion>
|
<AssemblyVersion>0.94</AssemblyVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ namespace GHelper.Mode
|
|||||||
PowerNative.SetCPUBoost(AppConfig.GetMode("auto_boost"));
|
PowerNative.SetCPUBoost(AppConfig.GetMode("auto_boost"));
|
||||||
}
|
}
|
||||||
|
|
||||||
BatteryControl.SetBatteryChargeLimit();
|
//BatteryControl.SetBatteryChargeLimit();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if (NativeMethods.PowerGetEffectiveOverlayScheme(out Guid activeScheme) == 0)
|
if (NativeMethods.PowerGetEffectiveOverlayScheme(out Guid activeScheme) == 0)
|
||||||
|
|||||||
@@ -122,21 +122,27 @@ namespace GHelper.Mode
|
|||||||
public static void SetPowerScheme(string scheme)
|
public static void SetPowerScheme(string scheme)
|
||||||
{
|
{
|
||||||
List<string> overlays = new() {
|
List<string> overlays = new() {
|
||||||
"00000000-0000-0000-0000-000000000000",
|
"00000000-0000-0000-0000-000000000000",
|
||||||
"ded574b5-45a0-4f42-8737-46345c09c238",
|
"ded574b5-45a0-4f42-8737-46345c09c238",
|
||||||
"961cc777-2547-4f9d-8174-7d86181b8a7a",
|
"961cc777-2547-4f9d-8174-7d86181b8a7a",
|
||||||
"3af9B8d9-7c97-431d-ad78-34a8bfea439f"
|
"3af9B8d9-7c97-431d-ad78-34a8bfea439f"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Guid guidScheme = new Guid(scheme);
|
||||||
|
|
||||||
if (overlays.Contains(scheme))
|
if (overlays.Contains(scheme))
|
||||||
{
|
{
|
||||||
PowerSetActiveOverlayScheme(new Guid(scheme));
|
uint status = PowerGetEffectiveOverlayScheme(out Guid activeScheme);
|
||||||
Logger.WriteLine("Power mode:" + scheme);
|
if (status != 0 || activeScheme != guidScheme)
|
||||||
|
{
|
||||||
|
PowerSetActiveOverlayScheme(guidScheme);
|
||||||
|
Logger.WriteLine("Power mode: " + scheme);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PowerSetActiveScheme(IntPtr.Zero, new Guid(scheme));
|
PowerSetActiveScheme(IntPtr.Zero, guidScheme);
|
||||||
Logger.WriteLine("Power plan:" + scheme);
|
Logger.WriteLine("Power plan: " + scheme);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -147,13 +153,13 @@ namespace GHelper.Mode
|
|||||||
switch (mode)
|
switch (mode)
|
||||||
{
|
{
|
||||||
case 0: // balanced
|
case 0: // balanced
|
||||||
PowerSetActiveOverlayScheme(new Guid("00000000-0000-0000-0000-000000000000"));
|
SetPowerScheme("00000000-0000-0000-0000-000000000000");
|
||||||
break;
|
break;
|
||||||
case 1: // turbo
|
case 1: // turbo
|
||||||
PowerSetActiveOverlayScheme(new Guid("ded574b5-45a0-4f42-8737-46345c09c238"));
|
SetPowerScheme("ded574b5-45a0-4f42-8737-46345c09c238");
|
||||||
break;
|
break;
|
||||||
case 2: //silent
|
case 2: //silent
|
||||||
PowerSetActiveOverlayScheme(new Guid("961cc777-2547-4f9d-8174-7d86181b8a7a"));
|
SetPowerScheme("961cc777-2547-4f9d-8174-7d86181b8a7a");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user