Custom modes

This commit is contained in:
Serge
2023-06-11 00:27:58 +02:00
parent 6b04ffa172
commit 16e085d9f1
17 changed files with 639 additions and 345 deletions

View File

@@ -42,10 +42,10 @@ namespace GHelper.AnimeMatrix
if (!IsValid) return; if (!IsValid) return;
int brightness = AppConfig.getConfig("matrix_brightness"); int brightness = AppConfig.Get("matrix_brightness");
int running = AppConfig.getConfig("matrix_running"); int running = AppConfig.Get("matrix_running");
bool auto = AppConfig.getConfig("matrix_auto") == 1; bool auto = AppConfig.Is("matrix_auto");
if (brightness < 0) brightness = 0; if (brightness < 0) brightness = 0;
if (running < 0) running = 0; if (running < 0) running = 0;
@@ -75,7 +75,7 @@ namespace GHelper.AnimeMatrix
switch (running) switch (running)
{ {
case 2: case 2:
SetMatrixPicture(AppConfig.getConfigString("matrix_picture")); SetMatrixPicture(AppConfig.GetString("matrix_picture"));
break; break;
case 3: case 3:
SetMatrixClock(); SetMatrixClock();
@@ -110,7 +110,7 @@ namespace GHelper.AnimeMatrix
{ {
//if (!IsValid) return; //if (!IsValid) return;
switch (AppConfig.getConfig("matrix_running")) switch (AppConfig.Get("matrix_running"))
{ {
case 2: case 2:
mat.PresentNextFrame(); mat.PresentNextFrame();

View File

@@ -1,4 +1,5 @@
using System.Diagnostics; using GHelper;
using System.Diagnostics;
using System.Management; using System.Management;
using System.Text.Json; using System.Text.Json;
@@ -28,12 +29,12 @@ public static class AppConfig
} }
catch catch
{ {
initConfig(); Init();
} }
} }
else else
{ {
initConfig(); Init();
} }
} }
@@ -64,7 +65,7 @@ public static class AppConfig
} }
private static void initConfig() private static void Init()
{ {
config = new Dictionary<string, object>(); config = new Dictionary<string, object>();
config["performance_mode"] = 0; config["performance_mode"] = 0;
@@ -72,41 +73,27 @@ public static class AppConfig
File.WriteAllText(configFile, jsonString); File.WriteAllText(configFile, jsonString);
} }
public static int getConfig(string name, int empty = -1) public static int Get(string name, int empty = -1)
{ {
if (config.ContainsKey(name)) if (config.ContainsKey(name))
return int.Parse(config[name].ToString()); return int.Parse(config[name].ToString());
else return empty; else return empty;
} }
public static bool isConfig(string name) public static bool Is(string name)
{ {
return getConfig(name) == 1; return Get(name) == 1;
} }
public static string getConfigString(string name, string empty = null) public static string GetString(string name, string empty = null)
{ {
if (config.ContainsKey(name)) if (config.ContainsKey(name))
return config[name].ToString(); return config[name].ToString();
else return empty; else return empty;
} }
public static void setConfig(string name, int value) private static void Write()
{ {
config[name] = value;
string jsonString = JsonSerializer.Serialize(config, new JsonSerializerOptions { WriteIndented = true });
try
{
File.WriteAllText(configFile, jsonString);
} catch (Exception e)
{
Debug.Write(e.ToString());
}
}
public static void setConfig(string name, string value)
{
config[name] = value;
string jsonString = JsonSerializer.Serialize(config, new JsonSerializerOptions { WriteIndented = true }); string jsonString = JsonSerializer.Serialize(config, new JsonSerializerOptions { WriteIndented = true });
try try
{ {
@@ -118,9 +105,26 @@ public static class AppConfig
} }
} }
public static string getParamName(AsusFan device, string paramName = "fan_profile") public static void Set(string name, int value)
{ {
int mode = getConfig("performance_mode"); config[name] = value;
Write();
}
public static void Set(string name, string value)
{
config[name] = value;
Write();
}
public static void Remove(string name)
{
config.Remove(name);
Write();
}
public static string GgetParamName(AsusFan device, string paramName = "fan_profile")
{
int mode = Modes.GetCurrent();
string name; string name;
switch (device) switch (device)
@@ -143,9 +147,9 @@ public static class AppConfig
return paramName + "_" + name + "_" + mode; return paramName + "_" + name + "_" + mode;
} }
public static byte[] getFanConfig(AsusFan device) public static byte[] GetFanConfig(AsusFan device)
{ {
string curveString = getConfigString(getParamName(device)); string curveString = GetString(GgetParamName(device));
byte[] curve = { }; byte[] curve = { };
if (curveString is not null) if (curveString is not null)
@@ -154,10 +158,10 @@ public static class AppConfig
return curve; return curve;
} }
public static void setFanConfig(AsusFan device, byte[] curve) public static void SetFanConfig(AsusFan device, byte[] curve)
{ {
string bitCurve = BitConverter.ToString(curve); string bitCurve = BitConverter.ToString(curve);
setConfig(getParamName(device), bitCurve); Set(GgetParamName(device), bitCurve);
} }
@@ -169,9 +173,9 @@ public static class AppConfig
return array; return array;
} }
public static byte[] getDefaultCurve(AsusFan device) public static byte[] GetDefaultCurve(AsusFan device)
{ {
int mode = getConfig("performance_mode"); int mode = Modes.GetCurrentBase();
byte[] curve; byte[] curve;
switch (mode) switch (mode)
@@ -199,29 +203,29 @@ public static class AppConfig
return curve; return curve;
} }
public static string getConfigPerfString(string name) public static string GetModeString(string name)
{ {
int mode = getConfig("performance_mode"); return GetString(name + "_" + Modes.GetCurrent());
return getConfigString(name + "_" + mode);
} }
public static int getConfigPerf(string name) public static int GetMode(string name)
{ {
int mode = getConfig("performance_mode"); return Get(name + "_" + Modes.GetCurrent());
return getConfig(name + "_" + mode);
} }
public static bool isConfigPerf(string name) public static bool IsMode(string name)
{ {
int mode = getConfig("performance_mode"); return Get(name + "_" + Modes.GetCurrent()) == 1;
return getConfig(name + "_" + mode) == 1;
} }
public static void setConfigPerf(string name, int value) public static void SetMode(string name, int value)
{ {
int mode = getConfig("performance_mode"); Set(name + "_" + Modes.GetCurrent(), value);
setConfig(name + "_" + mode, value);
} }
public static void SetMode(string name, string value)
{
Set(name + "_" + Modes.GetCurrent(), value);
}
} }

View File

@@ -55,7 +55,7 @@ namespace GHelper
combo.DisplayMember = "Value"; combo.DisplayMember = "Value";
combo.ValueMember = "Key"; combo.ValueMember = "Key";
string action = AppConfig.getConfigString(name); string action = AppConfig.GetString(name);
combo.SelectedValue = (action is not null) ? action : ""; combo.SelectedValue = (action is not null) ? action : "";
if (combo.SelectedValue is null) combo.SelectedValue = ""; if (combo.SelectedValue is null) combo.SelectedValue = "";
@@ -63,17 +63,17 @@ namespace GHelper
combo.SelectedValueChanged += delegate combo.SelectedValueChanged += delegate
{ {
if (combo.SelectedValue is not null) if (combo.SelectedValue is not null)
AppConfig.setConfig(name, combo.SelectedValue.ToString()); AppConfig.Set(name, combo.SelectedValue.ToString());
if (name == "m1" || name == "m2") if (name == "m1" || name == "m2")
Program.inputDispatcher.RegisterKeys(); Program.inputDispatcher.RegisterKeys();
}; };
txbox.Text = AppConfig.getConfigString(name + "_custom"); txbox.Text = AppConfig.GetString(name + "_custom");
txbox.TextChanged += delegate txbox.TextChanged += delegate
{ {
AppConfig.setConfig(name + "_custom", txbox.Text); AppConfig.Set(name + "_custom", txbox.Text);
}; };
} }
@@ -130,28 +130,28 @@ namespace GHelper
comboKeyboardSpeed.SelectedValueChanged += ComboKeyboardSpeed_SelectedValueChanged; comboKeyboardSpeed.SelectedValueChanged += ComboKeyboardSpeed_SelectedValueChanged;
// Keyboard // Keyboard
checkAwake.Checked = !(AppConfig.getConfig("keyboard_awake") == 0); checkAwake.Checked = !(AppConfig.Get("keyboard_awake") == 0);
checkBoot.Checked = !(AppConfig.getConfig("keyboard_boot") == 0); checkBoot.Checked = !(AppConfig.Get("keyboard_boot") == 0);
checkSleep.Checked = !(AppConfig.getConfig("keyboard_sleep") == 0); checkSleep.Checked = !(AppConfig.Get("keyboard_sleep") == 0);
checkShutdown.Checked = !(AppConfig.getConfig("keyboard_shutdown") == 0); checkShutdown.Checked = !(AppConfig.Get("keyboard_shutdown") == 0);
// Lightbar // Lightbar
checkAwakeBar.Checked = !(AppConfig.getConfig("keyboard_awake_bar") == 0); checkAwakeBar.Checked = !(AppConfig.Get("keyboard_awake_bar") == 0);
checkBootBar.Checked = !(AppConfig.getConfig("keyboard_boot_bar") == 0); checkBootBar.Checked = !(AppConfig.Get("keyboard_boot_bar") == 0);
checkSleepBar.Checked = !(AppConfig.getConfig("keyboard_sleep_bar") == 0); checkSleepBar.Checked = !(AppConfig.Get("keyboard_sleep_bar") == 0);
checkShutdownBar.Checked = !(AppConfig.getConfig("keyboard_shutdown_bar") == 0); checkShutdownBar.Checked = !(AppConfig.Get("keyboard_shutdown_bar") == 0);
// Lid // Lid
checkAwakeLid.Checked = !(AppConfig.getConfig("keyboard_awake_lid") == 0); checkAwakeLid.Checked = !(AppConfig.Get("keyboard_awake_lid") == 0);
checkBootLid.Checked = !(AppConfig.getConfig("keyboard_boot_lid") == 0); checkBootLid.Checked = !(AppConfig.Get("keyboard_boot_lid") == 0);
checkSleepLid.Checked = !(AppConfig.getConfig("keyboard_sleep_lid") == 0); checkSleepLid.Checked = !(AppConfig.Get("keyboard_sleep_lid") == 0);
checkShutdownLid.Checked = !(AppConfig.getConfig("keyboard_shutdown_lid") == 0); checkShutdownLid.Checked = !(AppConfig.Get("keyboard_shutdown_lid") == 0);
// Logo // Logo
checkAwakeLogo.Checked = !(AppConfig.getConfig("keyboard_awake_logo") == 0); checkAwakeLogo.Checked = !(AppConfig.Get("keyboard_awake_logo") == 0);
checkBootLogo.Checked = !(AppConfig.getConfig("keyboard_boot_logo") == 0); checkBootLogo.Checked = !(AppConfig.Get("keyboard_boot_logo") == 0);
checkSleepLogo.Checked = !(AppConfig.getConfig("keyboard_sleep_logo") == 0); checkSleepLogo.Checked = !(AppConfig.Get("keyboard_sleep_logo") == 0);
checkShutdownLogo.Checked = !(AppConfig.getConfig("keyboard_shutdown_logo") == 0); checkShutdownLogo.Checked = !(AppConfig.Get("keyboard_shutdown_logo") == 0);
checkAwake.CheckedChanged += CheckPower_CheckedChanged; checkAwake.CheckedChanged += CheckPower_CheckedChanged;
checkBoot.CheckedChanged += CheckPower_CheckedChanged; checkBoot.CheckedChanged += CheckPower_CheckedChanged;
@@ -197,35 +197,35 @@ namespace GHelper
} }
} }
checkTopmost.Checked = (AppConfig.getConfig("topmost") == 1); checkTopmost.Checked = AppConfig.Is("topmost");
checkTopmost.CheckedChanged += CheckTopmost_CheckedChanged; ; checkTopmost.CheckedChanged += CheckTopmost_CheckedChanged; ;
checkNoOverdrive.Checked = (AppConfig.getConfig("no_overdrive") == 1); checkNoOverdrive.Checked = AppConfig.Is("no_overdrive");
checkNoOverdrive.CheckedChanged += CheckNoOverdrive_CheckedChanged; checkNoOverdrive.CheckedChanged += CheckNoOverdrive_CheckedChanged;
checkUSBC.Checked = (AppConfig.getConfig("optimized_usbc") == 1); checkUSBC.Checked = AppConfig.Is("optimized_usbc");
checkUSBC.CheckedChanged += CheckUSBC_CheckedChanged; checkUSBC.CheckedChanged += CheckUSBC_CheckedChanged;
checkAutoApplyWindowsPowerMode.Checked = (AppConfig.getConfig("auto_apply_power_plan") != 0); checkAutoApplyWindowsPowerMode.Checked = (AppConfig.Get("auto_apply_power_plan") != 0);
checkAutoApplyWindowsPowerMode.CheckedChanged += checkAutoApplyWindowsPowerMode_CheckedChanged; checkAutoApplyWindowsPowerMode.CheckedChanged += checkAutoApplyWindowsPowerMode_CheckedChanged;
trackBrightness.Value = InputDispatcher.GetBacklight(); trackBrightness.Value = InputDispatcher.GetBacklight();
trackBrightness.Scroll += TrackBrightness_Scroll; trackBrightness.Scroll += TrackBrightness_Scroll;
panelXMG.Visible = (Program.acpi.DeviceGet(AsusACPI.GPUXGConnected) == 1); panelXMG.Visible = (Program.acpi.DeviceGet(AsusACPI.GPUXGConnected) == 1);
checkXMG.Checked = !(AppConfig.getConfig("xmg_light") == 0); checkXMG.Checked = !(AppConfig.Get("xmg_light") == 0);
checkXMG.CheckedChanged += CheckXMG_CheckedChanged; checkXMG.CheckedChanged += CheckXMG_CheckedChanged;
numericBacklightTime.Value = AppConfig.getConfig("keyboard_timeout", 60); numericBacklightTime.Value = AppConfig.Get("keyboard_timeout", 60);
numericBacklightPluggedTime.Value = AppConfig.getConfig("keyboard_ac_timeout", 0); numericBacklightPluggedTime.Value = AppConfig.Get("keyboard_ac_timeout", 0);
numericBacklightTime.ValueChanged += NumericBacklightTime_ValueChanged; numericBacklightTime.ValueChanged += NumericBacklightTime_ValueChanged;
numericBacklightPluggedTime.ValueChanged += NumericBacklightTime_ValueChanged; numericBacklightPluggedTime.ValueChanged += NumericBacklightTime_ValueChanged;
checkGpuApps.Checked = AppConfig.isConfig("kill_gpu_apps"); checkGpuApps.Checked = AppConfig.Is("kill_gpu_apps");
checkGpuApps.CheckedChanged += CheckGpuApps_CheckedChanged; checkGpuApps.CheckedChanged += CheckGpuApps_CheckedChanged;
checkFnLock.Checked = AppConfig.isConfig("fn_lock"); checkFnLock.Checked = AppConfig.Is("fn_lock");
checkFnLock.CheckedChanged += CheckFnLock_CheckedChanged; ; checkFnLock.CheckedChanged += CheckFnLock_CheckedChanged; ;
pictureHelp.Click += PictureHelp_Click; pictureHelp.Click += PictureHelp_Click;
@@ -325,7 +325,7 @@ namespace GHelper
private void CheckFnLock_CheckedChanged(object? sender, EventArgs e) private void CheckFnLock_CheckedChanged(object? sender, EventArgs e)
{ {
int fnLock = checkFnLock.Checked ? 1 : 0; int fnLock = checkFnLock.Checked ? 1 : 0;
AppConfig.setConfig("fn_lock", fnLock); AppConfig.Set("fn_lock", fnLock);
Program.acpi.DeviceSet(AsusACPI.FnLock, (fnLock == 1) ? 0 : 1, "FnLock"); Program.acpi.DeviceSet(AsusACPI.FnLock, (fnLock == 1) ? 0 : 1, "FnLock");
Program.inputDispatcher.RegisterKeys(); Program.inputDispatcher.RegisterKeys();
@@ -333,31 +333,31 @@ namespace GHelper
private void CheckGpuApps_CheckedChanged(object? sender, EventArgs e) private void CheckGpuApps_CheckedChanged(object? sender, EventArgs e)
{ {
AppConfig.setConfig("kill_gpu_apps", (checkGpuApps.Checked ? 1 : 0)); AppConfig.Set("kill_gpu_apps", (checkGpuApps.Checked ? 1 : 0));
} }
private void NumericBacklightTime_ValueChanged(object? sender, EventArgs e) private void NumericBacklightTime_ValueChanged(object? sender, EventArgs e)
{ {
AppConfig.setConfig("keyboard_timeout", (int)numericBacklightTime.Value); AppConfig.Set("keyboard_timeout", (int)numericBacklightTime.Value);
AppConfig.setConfig("keyboard_ac_timeout", (int)numericBacklightPluggedTime.Value); AppConfig.Set("keyboard_ac_timeout", (int)numericBacklightPluggedTime.Value);
Program.inputDispatcher.InitBacklightTimer(); Program.inputDispatcher.InitBacklightTimer();
} }
private void CheckXMG_CheckedChanged(object? sender, EventArgs e) private void CheckXMG_CheckedChanged(object? sender, EventArgs e)
{ {
AppConfig.setConfig("xmg_light", (checkXMG.Checked ? 1 : 0)); AppConfig.Set("xmg_light", (checkXMG.Checked ? 1 : 0));
AsusUSB.ApplyXGMLight(checkXMG.Checked); AsusUSB.ApplyXGMLight(checkXMG.Checked);
} }
private void CheckUSBC_CheckedChanged(object? sender, EventArgs e) private void CheckUSBC_CheckedChanged(object? sender, EventArgs e)
{ {
AppConfig.setConfig("optimized_usbc", (checkUSBC.Checked ? 1 : 0)); AppConfig.Set("optimized_usbc", (checkUSBC.Checked ? 1 : 0));
} }
private void TrackBrightness_Scroll(object? sender, EventArgs e) private void TrackBrightness_Scroll(object? sender, EventArgs e)
{ {
AppConfig.setConfig("keyboard_brightness", trackBrightness.Value); AppConfig.Set("keyboard_brightness", trackBrightness.Value);
AppConfig.setConfig("keyboard_brightness_ac", trackBrightness.Value); AppConfig.Set("keyboard_brightness_ac", trackBrightness.Value);
AsusUSB.ApplyBrightness(trackBrightness.Value, "Slider"); AsusUSB.ApplyBrightness(trackBrightness.Value, "Slider");
} }
@@ -368,38 +368,38 @@ namespace GHelper
private void CheckNoOverdrive_CheckedChanged(object? sender, EventArgs e) private void CheckNoOverdrive_CheckedChanged(object? sender, EventArgs e)
{ {
AppConfig.setConfig("no_overdrive", (checkNoOverdrive.Checked ? 1 : 0)); AppConfig.Set("no_overdrive", (checkNoOverdrive.Checked ? 1 : 0));
Program.settingsForm.AutoScreen(true); Program.settingsForm.AutoScreen(true);
} }
private void CheckTopmost_CheckedChanged(object? sender, EventArgs e) private void CheckTopmost_CheckedChanged(object? sender, EventArgs e)
{ {
AppConfig.setConfig("topmost", (checkTopmost.Checked ? 1 : 0)); AppConfig.Set("topmost", (checkTopmost.Checked ? 1 : 0));
Program.settingsForm.TopMost = checkTopmost.Checked; Program.settingsForm.TopMost = checkTopmost.Checked;
} }
private void CheckPower_CheckedChanged(object? sender, EventArgs e) private void CheckPower_CheckedChanged(object? sender, EventArgs e)
{ {
AppConfig.setConfig("keyboard_awake", (checkAwake.Checked ? 1 : 0)); AppConfig.Set("keyboard_awake", (checkAwake.Checked ? 1 : 0));
AppConfig.setConfig("keyboard_boot", (checkBoot.Checked ? 1 : 0)); AppConfig.Set("keyboard_boot", (checkBoot.Checked ? 1 : 0));
AppConfig.setConfig("keyboard_sleep", (checkSleep.Checked ? 1 : 0)); AppConfig.Set("keyboard_sleep", (checkSleep.Checked ? 1 : 0));
AppConfig.setConfig("keyboard_shutdown", (checkShutdown.Checked ? 1 : 0)); AppConfig.Set("keyboard_shutdown", (checkShutdown.Checked ? 1 : 0));
AppConfig.setConfig("keyboard_awake_bar", (checkAwakeBar.Checked ? 1 : 0)); AppConfig.Set("keyboard_awake_bar", (checkAwakeBar.Checked ? 1 : 0));
AppConfig.setConfig("keyboard_boot_bar", (checkBootBar.Checked ? 1 : 0)); AppConfig.Set("keyboard_boot_bar", (checkBootBar.Checked ? 1 : 0));
AppConfig.setConfig("keyboard_sleep_bar", (checkSleepBar.Checked ? 1 : 0)); AppConfig.Set("keyboard_sleep_bar", (checkSleepBar.Checked ? 1 : 0));
AppConfig.setConfig("keyboard_shutdown_bar", (checkShutdownBar.Checked ? 1 : 0)); AppConfig.Set("keyboard_shutdown_bar", (checkShutdownBar.Checked ? 1 : 0));
AppConfig.setConfig("keyboard_awake_lid", (checkAwakeLid.Checked ? 1 : 0)); AppConfig.Set("keyboard_awake_lid", (checkAwakeLid.Checked ? 1 : 0));
AppConfig.setConfig("keyboard_boot_lid", (checkBootLid.Checked ? 1 : 0)); AppConfig.Set("keyboard_boot_lid", (checkBootLid.Checked ? 1 : 0));
AppConfig.setConfig("keyboard_sleep_lid", (checkSleepLid.Checked ? 1 : 0)); AppConfig.Set("keyboard_sleep_lid", (checkSleepLid.Checked ? 1 : 0));
AppConfig.setConfig("keyboard_shutdown_lid", (checkShutdownLid.Checked ? 1 : 0)); AppConfig.Set("keyboard_shutdown_lid", (checkShutdownLid.Checked ? 1 : 0));
AppConfig.setConfig("keyboard_awake_logo", (checkAwakeLogo.Checked ? 1 : 0)); AppConfig.Set("keyboard_awake_logo", (checkAwakeLogo.Checked ? 1 : 0));
AppConfig.setConfig("keyboard_boot_logo", (checkBootLogo.Checked ? 1 : 0)); AppConfig.Set("keyboard_boot_logo", (checkBootLogo.Checked ? 1 : 0));
AppConfig.setConfig("keyboard_sleep_logo", (checkSleepLogo.Checked ? 1 : 0)); AppConfig.Set("keyboard_sleep_logo", (checkSleepLogo.Checked ? 1 : 0));
AppConfig.setConfig("keyboard_shutdown_logo", (checkShutdownLogo.Checked ? 1 : 0)); AppConfig.Set("keyboard_shutdown_logo", (checkShutdownLogo.Checked ? 1 : 0));
List<AuraDev19b6> flags = new List<AuraDev19b6>(); List<AuraDev19b6> flags = new List<AuraDev19b6>();
@@ -429,7 +429,7 @@ namespace GHelper
private void ComboKeyboardSpeed_SelectedValueChanged(object? sender, EventArgs e) private void ComboKeyboardSpeed_SelectedValueChanged(object? sender, EventArgs e)
{ {
AppConfig.setConfig("aura_speed", (int)comboKeyboardSpeed.SelectedValue); AppConfig.Set("aura_speed", (int)comboKeyboardSpeed.SelectedValue);
Program.settingsForm.SetAura(); Program.settingsForm.SetAura();
} }
@@ -450,7 +450,7 @@ namespace GHelper
private void checkAutoApplyWindowsPowerMode_CheckedChanged(object? sender, EventArgs e) private void checkAutoApplyWindowsPowerMode_CheckedChanged(object? sender, EventArgs e)
{ {
AppConfig.setConfig("auto_apply_power_plan", checkAutoApplyWindowsPowerMode.Checked ? 1 : 0); AppConfig.Set("auto_apply_power_plan", checkAutoApplyWindowsPowerMode.Checked ? 1 : 0);
} }
} }
} }

178
app/Fans.Designer.cs generated
View File

@@ -39,6 +39,7 @@ namespace GHelper
Title title3 = new Title(); Title title3 = new Title();
ChartArea chartArea4 = new ChartArea(); ChartArea chartArea4 = new ChartArea();
Title title4 = new Title(); Title title4 = new Title();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Fans));
panelFans = new Panel(); panelFans = new Panel();
labelTip = new Label(); labelTip = new Label();
tableFanCharts = new TableLayoutPanel(); tableFanCharts = new TableLayoutPanel();
@@ -47,14 +48,17 @@ namespace GHelper
chartXGM = new Chart(); chartXGM = new Chart();
chartMid = new Chart(); chartMid = new Chart();
panelTitleFans = new Panel(); panelTitleFans = new Panel();
labelBoost = new Label(); buttonRemove = new RButton();
comboBoost = new RComboBox(); buttonAdd = new RButton();
comboModes = new RComboBox();
picturePerf = new PictureBox(); picturePerf = new PictureBox();
labelFans = new Label(); labelFans = new Label();
panelApplyFans = new Panel(); panelApplyFans = new Panel();
labelFansResult = new Label(); labelFansResult = new Label();
checkApplyFans = new RCheckBox(); checkApplyFans = new RCheckBox();
buttonReset = new RButton(); buttonReset = new RButton();
labelBoost = new Label();
comboBoost = new RComboBox();
panelSliders = new Panel(); panelSliders = new Panel();
panelPower = new Panel(); panelPower = new Panel();
panelApplyPower = new Panel(); panelApplyPower = new Panel();
@@ -72,6 +76,7 @@ namespace GHelper
labelA0 = new Label(); labelA0 = new Label();
labelLeftA0 = new Label(); labelLeftA0 = new Label();
trackA0 = new TrackBar(); trackA0 = new TrackBar();
panelBoost = new Panel();
panelTitleCPU = new Panel(); panelTitleCPU = new Panel();
pictureBox1 = new PictureBox(); pictureBox1 = new PictureBox();
labelPowerLimits = new Label(); labelPowerLimits = new Label();
@@ -113,6 +118,7 @@ namespace GHelper
((System.ComponentModel.ISupportInitialize)trackC1).BeginInit(); ((System.ComponentModel.ISupportInitialize)trackC1).BeginInit();
panelA0.SuspendLayout(); panelA0.SuspendLayout();
((System.ComponentModel.ISupportInitialize)trackA0).BeginInit(); ((System.ComponentModel.ISupportInitialize)trackA0).BeginInit();
panelBoost.SuspendLayout();
panelTitleCPU.SuspendLayout(); panelTitleCPU.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit(); ((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit();
panelGPU.SuspendLayout(); panelGPU.SuspendLayout();
@@ -239,8 +245,9 @@ namespace GHelper
// //
// panelTitleFans // panelTitleFans
// //
panelTitleFans.Controls.Add(labelBoost); panelTitleFans.Controls.Add(buttonRemove);
panelTitleFans.Controls.Add(comboBoost); panelTitleFans.Controls.Add(buttonAdd);
panelTitleFans.Controls.Add(comboModes);
panelTitleFans.Controls.Add(picturePerf); panelTitleFans.Controls.Add(picturePerf);
panelTitleFans.Controls.Add(labelFans); panelTitleFans.Controls.Add(labelFans);
panelTitleFans.Dock = DockStyle.Top; panelTitleFans.Dock = DockStyle.Top;
@@ -249,28 +256,50 @@ namespace GHelper
panelTitleFans.Size = new Size(805, 66); panelTitleFans.Size = new Size(805, 66);
panelTitleFans.TabIndex = 42; panelTitleFans.TabIndex = 42;
// //
// labelBoost // buttonRemove
// //
labelBoost.Anchor = AnchorStyles.Top | AnchorStyles.Right; buttonRemove.Activated = false;
labelBoost.Location = new Point(356, 20); buttonRemove.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
labelBoost.Name = "labelBoost"; buttonRemove.BackColor = SystemColors.ControlLight;
labelBoost.Size = new Size(140, 32); buttonRemove.BorderColor = Color.Transparent;
labelBoost.TabIndex = 43; buttonRemove.BorderRadius = 2;
labelBoost.Text = "CPU Boost"; buttonRemove.FlatStyle = FlatStyle.Flat;
labelBoost.TextAlign = ContentAlignment.MiddleRight; buttonRemove.Image = (Image)resources.GetObject("buttonRemove.Image");
buttonRemove.Location = new Point(370, 14);
buttonRemove.Margin = new Padding(4, 2, 4, 2);
buttonRemove.Name = "buttonRemove";
buttonRemove.Secondary = true;
buttonRemove.Size = new Size(52, 44);
buttonRemove.TabIndex = 44;
buttonRemove.UseVisualStyleBackColor = false;
// //
// comboBoost // buttonAdd
// //
comboBoost.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; buttonAdd.Activated = false;
comboBoost.BorderColor = Color.White; buttonAdd.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
comboBoost.ButtonColor = Color.FromArgb(255, 255, 255); buttonAdd.BackColor = SystemColors.ControlLight;
comboBoost.DropDownStyle = ComboBoxStyle.DropDownList; buttonAdd.BorderColor = Color.Transparent;
comboBoost.FormattingEnabled = true; buttonAdd.BorderRadius = 2;
comboBoost.Items.AddRange(new object[] { "Disabled", "Enabled", "Aggressive", "Efficient Enabled", "Efficient Aggressive" }); buttonAdd.FlatStyle = FlatStyle.Flat;
comboBoost.Location = new Point(506, 16); buttonAdd.Image = (Image)resources.GetObject("buttonAdd.Image");
comboBoost.Name = "comboBoost"; buttonAdd.Location = new Point(737, 14);
comboBoost.Size = new Size(287, 40); buttonAdd.Margin = new Padding(4, 2, 4, 2);
comboBoost.TabIndex = 42; buttonAdd.Name = "buttonAdd";
buttonAdd.Secondary = true;
buttonAdd.Size = new Size(52, 44);
buttonAdd.TabIndex = 43;
buttonAdd.UseVisualStyleBackColor = false;
//
// comboModes
//
comboModes.Anchor = AnchorStyles.Top | AnchorStyles.Right;
comboModes.BorderColor = Color.White;
comboModes.ButtonColor = Color.FromArgb(255, 255, 255);
comboModes.FormattingEnabled = true;
comboModes.Location = new Point(429, 16);
comboModes.Name = "comboModes";
comboModes.Size = new Size(302, 40);
comboModes.TabIndex = 42;
// //
// picturePerf // picturePerf
// //
@@ -288,12 +317,12 @@ namespace GHelper
// //
labelFans.AutoSize = true; labelFans.AutoSize = true;
labelFans.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); labelFans.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
labelFans.Location = new Point(62, 20); labelFans.Location = new Point(58, 20);
labelFans.Margin = new Padding(4, 0, 4, 0); labelFans.Margin = new Padding(4, 0, 4, 0);
labelFans.Name = "labelFans"; labelFans.Name = "labelFans";
labelFans.Size = new Size(138, 32); labelFans.Size = new Size(90, 32);
labelFans.TabIndex = 40; labelFans.TabIndex = 40;
labelFans.Text = "Fan Curves"; labelFans.Text = "Profile";
// //
// panelApplyFans // panelApplyFans
// //
@@ -348,6 +377,28 @@ namespace GHelper
buttonReset.Text = Properties.Strings.FactoryDefaults; buttonReset.Text = Properties.Strings.FactoryDefaults;
buttonReset.UseVisualStyleBackColor = false; buttonReset.UseVisualStyleBackColor = false;
// //
// labelBoost
//
labelBoost.Location = new Point(10, 12);
labelBoost.Name = "labelBoost";
labelBoost.Size = new Size(201, 40);
labelBoost.TabIndex = 43;
labelBoost.Text = "CPU Boost";
labelBoost.TextAlign = ContentAlignment.MiddleLeft;
//
// comboBoost
//
comboBoost.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
comboBoost.BorderColor = Color.White;
comboBoost.ButtonColor = Color.FromArgb(255, 255, 255);
comboBoost.DropDownStyle = ComboBoxStyle.DropDownList;
comboBoost.FormattingEnabled = true;
comboBoost.Items.AddRange(new object[] { "Disabled", "Enabled", "Aggressive", "Efficient Enabled", "Efficient Aggressive" });
comboBoost.Location = new Point(226, 12);
comboBoost.Name = "comboBoost";
comboBoost.Size = new Size(287, 40);
comboBoost.TabIndex = 42;
//
// panelSliders // panelSliders
// //
panelSliders.Controls.Add(panelPower); panelSliders.Controls.Add(panelPower);
@@ -369,18 +420,19 @@ namespace GHelper
panelPower.Controls.Add(panelB0); panelPower.Controls.Add(panelB0);
panelPower.Controls.Add(panelC1); panelPower.Controls.Add(panelC1);
panelPower.Controls.Add(panelA0); panelPower.Controls.Add(panelA0);
panelPower.Controls.Add(panelBoost);
panelPower.Controls.Add(panelTitleCPU); panelPower.Controls.Add(panelTitleCPU);
panelPower.Dock = DockStyle.Fill; panelPower.Dock = DockStyle.Fill;
panelPower.Location = new Point(10, 652); panelPower.Location = new Point(10, 584);
panelPower.Name = "panelPower"; panelPower.Name = "panelPower";
panelPower.Size = new Size(523, 658); panelPower.Size = new Size(523, 726);
panelPower.TabIndex = 43; panelPower.TabIndex = 43;
// //
// panelApplyPower // panelApplyPower
// //
panelApplyPower.Controls.Add(checkApplyPower); panelApplyPower.Controls.Add(checkApplyPower);
panelApplyPower.Dock = DockStyle.Bottom; panelApplyPower.Dock = DockStyle.Bottom;
panelApplyPower.Location = new Point(0, 568); panelApplyPower.Location = new Point(0, 636);
panelApplyPower.Name = "panelApplyPower"; panelApplyPower.Name = "panelApplyPower";
panelApplyPower.Padding = new Padding(10); panelApplyPower.Padding = new Padding(10);
panelApplyPower.Size = new Size(523, 90); panelApplyPower.Size = new Size(523, 90);
@@ -403,11 +455,11 @@ namespace GHelper
// labelInfo // labelInfo
// //
labelInfo.Dock = DockStyle.Top; labelInfo.Dock = DockStyle.Top;
labelInfo.Location = new Point(0, 482); labelInfo.Location = new Point(0, 506);
labelInfo.Margin = new Padding(4, 0, 4, 0); labelInfo.Margin = new Padding(4, 0, 4, 0);
labelInfo.Name = "labelInfo"; labelInfo.Name = "labelInfo";
labelInfo.Padding = new Padding(5); labelInfo.Padding = new Padding(5);
labelInfo.Size = new Size(523, 149); labelInfo.Size = new Size(523, 100);
labelInfo.TabIndex = 43; labelInfo.TabIndex = 43;
labelInfo.Text = "Experimental Feature"; labelInfo.Text = "Experimental Feature";
// //
@@ -419,10 +471,11 @@ namespace GHelper
panelB0.Controls.Add(labelLeftB0); panelB0.Controls.Add(labelLeftB0);
panelB0.Controls.Add(trackB0); panelB0.Controls.Add(trackB0);
panelB0.Dock = DockStyle.Top; panelB0.Dock = DockStyle.Top;
panelB0.Location = new Point(0, 346); panelB0.Location = new Point(0, 381);
panelB0.Margin = new Padding(4); panelB0.Margin = new Padding(4);
panelB0.MaximumSize = new Size(0, 125);
panelB0.Name = "panelB0"; panelB0.Name = "panelB0";
panelB0.Size = new Size(523, 136); panelB0.Size = new Size(523, 125);
panelB0.TabIndex = 41; panelB0.TabIndex = 41;
// //
// labelB0 // labelB0
@@ -469,10 +522,11 @@ namespace GHelper
panelC1.Controls.Add(labelLeftC1); panelC1.Controls.Add(labelLeftC1);
panelC1.Controls.Add(trackC1); panelC1.Controls.Add(trackC1);
panelC1.Dock = DockStyle.Top; panelC1.Dock = DockStyle.Top;
panelC1.Location = new Point(0, 206); panelC1.Location = new Point(0, 256);
panelC1.Margin = new Padding(4); panelC1.Margin = new Padding(4);
panelC1.MaximumSize = new Size(0, 125);
panelC1.Name = "panelC1"; panelC1.Name = "panelC1";
panelC1.Size = new Size(523, 140); panelC1.Size = new Size(523, 125);
panelC1.TabIndex = 45; panelC1.TabIndex = 45;
// //
// labelC1 // labelC1
@@ -484,7 +538,7 @@ namespace GHelper
labelC1.Name = "labelC1"; labelC1.Name = "labelC1";
labelC1.Size = new Size(119, 32); labelC1.Size = new Size(119, 32);
labelC1.TabIndex = 13; labelC1.TabIndex = 13;
labelC1.Text = "APU"; labelC1.Text = "C1";
labelC1.TextAlign = ContentAlignment.TopRight; labelC1.TextAlign = ContentAlignment.TopRight;
// //
// labelLeftC1 // labelLeftC1
@@ -493,9 +547,9 @@ namespace GHelper
labelLeftC1.Location = new Point(10, 8); labelLeftC1.Location = new Point(10, 8);
labelLeftC1.Margin = new Padding(4, 0, 4, 0); labelLeftC1.Margin = new Padding(4, 0, 4, 0);
labelLeftC1.Name = "labelLeftC1"; labelLeftC1.Name = "labelLeftC1";
labelLeftC1.Size = new Size(58, 32); labelLeftC1.Size = new Size(42, 32);
labelLeftC1.TabIndex = 12; labelLeftC1.TabIndex = 12;
labelLeftC1.Text = "APU"; labelLeftC1.Text = "C1";
// //
// trackC1 // trackC1
// //
@@ -519,10 +573,11 @@ namespace GHelper
panelA0.Controls.Add(labelLeftA0); panelA0.Controls.Add(labelLeftA0);
panelA0.Controls.Add(trackA0); panelA0.Controls.Add(trackA0);
panelA0.Dock = DockStyle.Top; panelA0.Dock = DockStyle.Top;
panelA0.Location = new Point(0, 66); panelA0.Location = new Point(0, 131);
panelA0.Margin = new Padding(4); panelA0.Margin = new Padding(4);
panelA0.MaximumSize = new Size(0, 125);
panelA0.Name = "panelA0"; panelA0.Name = "panelA0";
panelA0.Size = new Size(523, 140); panelA0.Size = new Size(523, 125);
panelA0.TabIndex = 40; panelA0.TabIndex = 40;
// //
// labelA0 // labelA0
@@ -561,6 +616,16 @@ namespace GHelper
trackA0.TickStyle = TickStyle.TopLeft; trackA0.TickStyle = TickStyle.TopLeft;
trackA0.Value = 125; trackA0.Value = 125;
// //
// panelBoost
//
panelBoost.Controls.Add(comboBoost);
panelBoost.Controls.Add(labelBoost);
panelBoost.Dock = DockStyle.Top;
panelBoost.Location = new Point(0, 66);
panelBoost.Name = "panelBoost";
panelBoost.Size = new Size(523, 65);
panelBoost.TabIndex = 13;
//
// panelTitleCPU // panelTitleCPU
// //
panelTitleCPU.AutoSize = true; panelTitleCPU.AutoSize = true;
@@ -589,12 +654,12 @@ namespace GHelper
// //
labelPowerLimits.AutoSize = true; labelPowerLimits.AutoSize = true;
labelPowerLimits.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); labelPowerLimits.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
labelPowerLimits.Location = new Point(62, 20); labelPowerLimits.Location = new Point(57, 20);
labelPowerLimits.Margin = new Padding(4, 0, 4, 0); labelPowerLimits.Margin = new Padding(4, 0, 4, 0);
labelPowerLimits.Name = "labelPowerLimits"; labelPowerLimits.Name = "labelPowerLimits";
labelPowerLimits.Size = new Size(229, 32); labelPowerLimits.Size = new Size(160, 32);
labelPowerLimits.TabIndex = 39; labelPowerLimits.TabIndex = 39;
labelPowerLimits.Text = "Power Limits (PPT)"; labelPowerLimits.Text = "Power Limits";
// //
// panelGPU // panelGPU
// //
@@ -608,7 +673,7 @@ namespace GHelper
panelGPU.Location = new Point(10, 0); panelGPU.Location = new Point(10, 0);
panelGPU.Name = "panelGPU"; panelGPU.Name = "panelGPU";
panelGPU.Padding = new Padding(0, 0, 0, 18); panelGPU.Padding = new Padding(0, 0, 0, 18);
panelGPU.Size = new Size(523, 652); panelGPU.Size = new Size(523, 584);
panelGPU.TabIndex = 44; panelGPU.TabIndex = 44;
// //
// panelGPUTemp // panelGPUTemp
@@ -619,9 +684,10 @@ namespace GHelper
panelGPUTemp.Controls.Add(labelGPUTempTitle); panelGPUTemp.Controls.Add(labelGPUTempTitle);
panelGPUTemp.Controls.Add(trackGPUTemp); panelGPUTemp.Controls.Add(trackGPUTemp);
panelGPUTemp.Dock = DockStyle.Top; panelGPUTemp.Dock = DockStyle.Top;
panelGPUTemp.Location = new Point(0, 485); panelGPUTemp.Location = new Point(0, 441);
panelGPUTemp.MaximumSize = new Size(0, 125);
panelGPUTemp.Name = "panelGPUTemp"; panelGPUTemp.Name = "panelGPUTemp";
panelGPUTemp.Size = new Size(523, 149); panelGPUTemp.Size = new Size(523, 125);
panelGPUTemp.TabIndex = 47; panelGPUTemp.TabIndex = 47;
// //
// labelGPUTemp // labelGPUTemp
@@ -666,9 +732,10 @@ namespace GHelper
panelGPUBoost.Controls.Add(labelGPUBoostTitle); panelGPUBoost.Controls.Add(labelGPUBoostTitle);
panelGPUBoost.Controls.Add(trackGPUBoost); panelGPUBoost.Controls.Add(trackGPUBoost);
panelGPUBoost.Dock = DockStyle.Top; panelGPUBoost.Dock = DockStyle.Top;
panelGPUBoost.Location = new Point(0, 345); panelGPUBoost.Location = new Point(0, 316);
panelGPUBoost.MaximumSize = new Size(0, 125);
panelGPUBoost.Name = "panelGPUBoost"; panelGPUBoost.Name = "panelGPUBoost";
panelGPUBoost.Size = new Size(523, 140); panelGPUBoost.Size = new Size(523, 125);
panelGPUBoost.TabIndex = 46; panelGPUBoost.TabIndex = 46;
// //
// labelGPUBoost // labelGPUBoost
@@ -713,9 +780,10 @@ namespace GHelper
panelGPUMemory.Controls.Add(labelGPUMemoryTitle); panelGPUMemory.Controls.Add(labelGPUMemoryTitle);
panelGPUMemory.Controls.Add(trackGPUMemory); panelGPUMemory.Controls.Add(trackGPUMemory);
panelGPUMemory.Dock = DockStyle.Top; panelGPUMemory.Dock = DockStyle.Top;
panelGPUMemory.Location = new Point(0, 205); panelGPUMemory.Location = new Point(0, 191);
panelGPUMemory.MaximumSize = new Size(0, 125);
panelGPUMemory.Name = "panelGPUMemory"; panelGPUMemory.Name = "panelGPUMemory";
panelGPUMemory.Size = new Size(523, 140); panelGPUMemory.Size = new Size(523, 125);
panelGPUMemory.TabIndex = 45; panelGPUMemory.TabIndex = 45;
// //
// labelGPUMemory // labelGPUMemory
@@ -761,8 +829,9 @@ namespace GHelper
panelGPUCore.Controls.Add(labelGPUCoreTitle); panelGPUCore.Controls.Add(labelGPUCoreTitle);
panelGPUCore.Dock = DockStyle.Top; panelGPUCore.Dock = DockStyle.Top;
panelGPUCore.Location = new Point(0, 66); panelGPUCore.Location = new Point(0, 66);
panelGPUCore.MaximumSize = new Size(0, 125);
panelGPUCore.Name = "panelGPUCore"; panelGPUCore.Name = "panelGPUCore";
panelGPUCore.Size = new Size(523, 139); panelGPUCore.Size = new Size(523, 125);
panelGPUCore.TabIndex = 44; panelGPUCore.TabIndex = 44;
// //
// labelGPUCore // labelGPUCore
@@ -829,7 +898,7 @@ namespace GHelper
// //
labelGPU.AutoSize = true; labelGPU.AutoSize = true;
labelGPU.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); labelGPU.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
labelGPU.Location = new Point(62, 20); labelGPU.Location = new Point(55, 20);
labelGPU.Margin = new Padding(4, 0, 4, 0); labelGPU.Margin = new Padding(4, 0, 4, 0);
labelGPU.Name = "labelGPU"; labelGPU.Name = "labelGPU";
labelGPU.Size = new Size(162, 32); labelGPU.Size = new Size(162, 32);
@@ -881,6 +950,7 @@ namespace GHelper
panelA0.ResumeLayout(false); panelA0.ResumeLayout(false);
panelA0.PerformLayout(); panelA0.PerformLayout();
((System.ComponentModel.ISupportInitialize)trackA0).EndInit(); ((System.ComponentModel.ISupportInitialize)trackA0).EndInit();
panelBoost.ResumeLayout(false);
panelTitleCPU.ResumeLayout(false); panelTitleCPU.ResumeLayout(false);
panelTitleCPU.PerformLayout(); panelTitleCPU.PerformLayout();
((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit(); ((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit();
@@ -962,5 +1032,9 @@ namespace GHelper
private Label labelC1; private Label labelC1;
private Label labelLeftC1; private Label labelLeftC1;
private TrackBar trackC1; private TrackBar trackC1;
private Panel panelBoost;
private RComboBox comboModes;
private RButton buttonAdd;
private RButton buttonRemove;
} }
} }

View File

@@ -2,6 +2,7 @@
using GHelper.Gpu; using GHelper.Gpu;
using System; using System;
using System.Diagnostics; using System.Diagnostics;
using System.Net.Sockets;
using System.Windows.Forms.DataVisualization.Charting; using System.Windows.Forms.DataVisualization.Charting;
namespace GHelper namespace GHelper
@@ -127,18 +128,65 @@ namespace GHelper
labelInfo.Text = Properties.Strings.PPTExperimental; labelInfo.Text = Properties.Strings.PPTExperimental;
labelFansResult.Visible = false; labelFansResult.Visible = false;
FillModes();
InitMode();
InitFans(); InitFans();
InitPower(); InitPower();
InitBoost(); InitBoost();
InitGPU(true); InitGPU(true);
comboBoost.SelectedValueChanged += ComboBoost_Changed; comboBoost.SelectedValueChanged += ComboBoost_Changed;
comboModes.SelectedValueChanged += ComboModes_SelectedValueChanged;
Shown += Fans_Shown; Shown += Fans_Shown;
buttonAdd.Click += ButtonAdd_Click;
buttonRemove.Click += ButtonRemove_Click;
}
private void ButtonRemove_Click(object? sender, EventArgs e)
{
int mode = Modes.GetCurrent();
if (!Modes.IsCurrentCustom()) return;
Modes.Remove(mode);
FillModes();
Program.settingsForm.SetPerformanceMode(AsusACPI.PerformanceBalanced);
} }
private void FillModes()
{
comboModes.DropDownStyle = ComboBoxStyle.DropDownList;
comboModes.DataSource = new BindingSource(Modes.GetList(), null);
comboModes.DisplayMember = "Value";
comboModes.ValueMember = "Key";
}
private void ButtonAdd_Click(object? sender, EventArgs e)
{
int mode = Modes.Add();
FillModes();
Program.settingsForm.SetPerformanceMode(mode);
}
public void InitMode()
{
int mode = Modes.GetCurrent();
comboModes.SelectedValue = mode;
buttonRemove.Visible = Modes.IsCurrentCustom();
}
private void ComboModes_SelectedValueChanged(object? sender, EventArgs e)
{
int selectedMode = (int)comboModes.SelectedValue;
if (selectedMode == Modes.GetCurrent()) return;
Program.settingsForm.SetPerformanceMode((int)selectedMode);
}
private void TrackGPU_MouseUp(object? sender, MouseEventArgs e) private void TrackGPU_MouseUp(object? sender, MouseEventArgs e)
{ {
@@ -171,10 +219,10 @@ namespace GHelper
{ {
gpuVisible = panelGPU.Visible = true; gpuVisible = panelGPU.Visible = true;
int gpu_boost = AppConfig.getConfigPerf("gpu_boost"); int gpu_boost = AppConfig.GetMode("gpu_boost");
int gpu_temp = AppConfig.getConfigPerf("gpu_temp"); int gpu_temp = AppConfig.GetMode("gpu_temp");
int core = AppConfig.getConfigPerf("gpu_core"); int core = AppConfig.GetMode("gpu_core");
int memory = AppConfig.getConfigPerf("gpu_memory"); int memory = AppConfig.GetMode("gpu_memory");
if (gpu_boost < 0) gpu_boost = AsusACPI.MaxGPUBoost; if (gpu_boost < 0) gpu_boost = AsusACPI.MaxGPUBoost;
if (gpu_temp < 0) gpu_temp = AsusACPI.MaxGPUTemp; if (gpu_temp < 0) gpu_temp = AsusACPI.MaxGPUTemp;
@@ -236,8 +284,8 @@ namespace GHelper
TrackBar track = (TrackBar)sender; TrackBar track = (TrackBar)sender;
track.Value = (int)Math.Round((float)track.Value / 5) * 5; track.Value = (int)Math.Round((float)track.Value / 5) * 5;
AppConfig.setConfigPerf("gpu_core", trackGPUCore.Value); AppConfig.SetMode("gpu_core", trackGPUCore.Value);
AppConfig.setConfigPerf("gpu_memory", trackGPUMemory.Value); AppConfig.SetMode("gpu_memory", trackGPUMemory.Value);
VisualiseGPUSettings(); VisualiseGPUSettings();
@@ -245,8 +293,8 @@ namespace GHelper
private void trackGPUPower_Scroll(object? sender, EventArgs e) private void trackGPUPower_Scroll(object? sender, EventArgs e)
{ {
AppConfig.setConfigPerf("gpu_boost", trackGPUBoost.Value); AppConfig.SetMode("gpu_boost", trackGPUBoost.Value);
AppConfig.setConfigPerf("gpu_temp", trackGPUTemp.Value); AppConfig.SetMode("gpu_temp", trackGPUTemp.Value);
VisualiseGPUSettings(); VisualiseGPUSettings();
} }
@@ -279,9 +327,6 @@ namespace GHelper
break; break;
} }
if (Program.settingsForm.perfName.Length > 0)
labelFans.Text = Properties.Strings.FanProfiles + ": " + Program.settingsForm.perfName;
chart.Titles[0].Text = title; chart.Titles[0].Text = title;
chart.ChartAreas[0].AxisX.Minimum = 10; chart.ChartAreas[0].AxisX.Minimum = 10;
@@ -349,10 +394,10 @@ namespace GHelper
private void ComboBoost_Changed(object? sender, EventArgs e) private void ComboBoost_Changed(object? sender, EventArgs e)
{ {
if (AppConfig.getConfigPerf("auto_boost") != comboBoost.SelectedIndex) if (AppConfig.GetMode("auto_boost") != comboBoost.SelectedIndex)
{ {
NativeMethods.SetCPUBoost(comboBoost.SelectedIndex); NativeMethods.SetCPUBoost(comboBoost.SelectedIndex);
AppConfig.setConfigPerf("auto_boost", comboBoost.SelectedIndex); AppConfig.SetMode("auto_boost", comboBoost.SelectedIndex);
} }
} }
@@ -361,7 +406,7 @@ namespace GHelper
if (sender is null) return; if (sender is null) return;
CheckBox chk = (CheckBox)sender; CheckBox chk = (CheckBox)sender;
AppConfig.setConfigPerf("auto_apply_power", chk.Checked ? 1 : 0); AppConfig.SetMode("auto_apply_power", chk.Checked ? 1 : 0);
Program.settingsForm.SetPerformanceMode(); Program.settingsForm.SetPerformanceMode();
} }
@@ -371,7 +416,7 @@ namespace GHelper
if (sender is null) return; if (sender is null) return;
CheckBox chk = (CheckBox)sender; CheckBox chk = (CheckBox)sender;
AppConfig.setConfigPerf("auto_apply", chk.Checked ? 1 : 0); AppConfig.SetMode("auto_apply", chk.Checked ? 1 : 0);
Program.settingsForm.SetPerformanceMode(); Program.settingsForm.SetPerformanceMode();
} }
@@ -424,7 +469,7 @@ namespace GHelper
int limit_cpu; int limit_cpu;
int limit_fast; int limit_fast;
bool apply = AppConfig.isConfigPerf("auto_apply_power"); bool apply = AppConfig.IsMode("auto_apply_power");
if (changed) if (changed)
{ {
@@ -434,9 +479,9 @@ namespace GHelper
} }
else else
{ {
limit_total = AppConfig.getConfigPerf("limit_total"); limit_total = AppConfig.GetMode("limit_total");
limit_cpu = AppConfig.getConfigPerf("limit_cpu"); limit_cpu = AppConfig.GetMode("limit_cpu");
limit_fast = AppConfig.getConfigPerf("limit_fast"); limit_fast = AppConfig.GetMode("limit_fast");
} }
if (limit_total < 0) limit_total = AsusACPI.DefaultTotal; if (limit_total < 0) limit_total = AsusACPI.DefaultTotal;
@@ -462,9 +507,9 @@ namespace GHelper
labelB0.Text = trackB0.Value.ToString() + "W"; labelB0.Text = trackB0.Value.ToString() + "W";
labelC1.Text = trackC1.Value.ToString() + "W"; labelC1.Text = trackC1.Value.ToString() + "W";
AppConfig.setConfigPerf("limit_total", limit_total); AppConfig.SetMode("limit_total", limit_total);
AppConfig.setConfigPerf("limit_cpu", limit_cpu); AppConfig.SetMode("limit_cpu", limit_cpu);
AppConfig.setConfigPerf("limit_fast", limit_fast); AppConfig.SetMode("limit_fast", limit_fast);
} }
@@ -484,7 +529,7 @@ namespace GHelper
// Middle / system fan check // Middle / system fan check
if (!AsusACPI.IsEmptyCurve(Program.acpi.GetFanCurve(AsusFan.Mid))) if (!AsusACPI.IsEmptyCurve(Program.acpi.GetFanCurve(AsusFan.Mid)))
{ {
AppConfig.setConfig("mid_fan", 1); AppConfig.Set("mid_fan", 1);
chartCount++; chartCount++;
chartMid.Visible = true; chartMid.Visible = true;
SetChart(chartMid, AsusFan.Mid); SetChart(chartMid, AsusFan.Mid);
@@ -492,13 +537,13 @@ namespace GHelper
} }
else else
{ {
AppConfig.setConfig("mid_fan", 0); AppConfig.Set("mid_fan", 0);
} }
// XG Mobile Fan check // XG Mobile Fan check
if (Program.acpi.IsXGConnected()) if (Program.acpi.IsXGConnected())
{ {
AppConfig.setConfig("xgm_fan", 1); AppConfig.Set("xgm_fan", 1);
chartCount++; chartCount++;
chartXGM.Visible = true; chartXGM.Visible = true;
SetChart(chartXGM, AsusFan.XGM); SetChart(chartXGM, AsusFan.XGM);
@@ -506,7 +551,7 @@ namespace GHelper
} }
else else
{ {
AppConfig.setConfig("xgm_fan", 0); AppConfig.Set("xgm_fan", 0);
} }
try try
@@ -526,9 +571,7 @@ namespace GHelper
LoadProfile(seriesCPU, AsusFan.CPU); LoadProfile(seriesCPU, AsusFan.CPU);
LoadProfile(seriesGPU, AsusFan.GPU); LoadProfile(seriesGPU, AsusFan.GPU);
int auto_apply = AppConfig.getConfigPerf("auto_apply"); checkApplyFans.Checked = AppConfig.IsMode("auto_apply");
checkApplyFans.Checked = (auto_apply == 1);
} }
@@ -542,15 +585,14 @@ namespace GHelper
series.Points.Clear(); series.Points.Clear();
int mode = AppConfig.getConfig("performance_mode"); byte[] curve = AppConfig.GetFanConfig(device);
byte[] curve = AppConfig.getFanConfig(device);
if (reset || AsusACPI.IsInvalidCurve(curve)) if (reset || AsusACPI.IsInvalidCurve(curve))
{ {
curve = Program.acpi.GetFanCurve(device, mode); curve = Program.acpi.GetFanCurve(device, Modes.GetCurrentBase());
if (AsusACPI.IsInvalidCurve(curve)) if (AsusACPI.IsInvalidCurve(curve))
curve = AppConfig.getDefaultCurve(device); curve = AppConfig.GetDefaultCurve(device);
curve = AsusACPI.FixFanCurve(curve); curve = AsusACPI.FixFanCurve(curve);
@@ -581,7 +623,7 @@ namespace GHelper
i++; i++;
} }
AppConfig.setFanConfig(device, curve); AppConfig.SetFanConfig(device, curve);
//Program.wmi.SetFanCurve(device, curve); //Program.wmi.SetFanCurve(device, curve);
} }
@@ -593,19 +635,19 @@ namespace GHelper
LoadProfile(seriesCPU, AsusFan.CPU, true); LoadProfile(seriesCPU, AsusFan.CPU, true);
LoadProfile(seriesGPU, AsusFan.GPU, true); LoadProfile(seriesGPU, AsusFan.GPU, true);
if (AppConfig.isConfig("mid_fan")) if (AppConfig.Is("mid_fan"))
LoadProfile(seriesMid, AsusFan.Mid, true); LoadProfile(seriesMid, AsusFan.Mid, true);
if (AppConfig.isConfig("xgm_fan")) if (AppConfig.Is("xgm_fan"))
LoadProfile(seriesXGM, AsusFan.XGM, true); LoadProfile(seriesXGM, AsusFan.XGM, true);
checkApplyFans.Checked = false; checkApplyFans.Checked = false;
checkApplyPower.Checked = false; checkApplyPower.Checked = false;
AppConfig.setConfigPerf("auto_apply", 0); AppConfig.SetMode("auto_apply", 0);
AppConfig.setConfigPerf("auto_apply_power", 0); AppConfig.SetMode("auto_apply_power", 0);
Program.acpi.DeviceSet(AsusACPI.PerformanceMode, AppConfig.getConfig("performance_mode"), "Mode"); Program.acpi.DeviceSet(AsusACPI.PerformanceMode, Modes.GetCurrentBase(), "Mode");
if (Program.acpi.IsXGConnected()) if (Program.acpi.IsXGConnected())
AsusUSB.ResetXGM(); AsusUSB.ResetXGM();
@@ -617,10 +659,10 @@ namespace GHelper
trackGPUBoost.Value = AsusACPI.MaxGPUBoost; trackGPUBoost.Value = AsusACPI.MaxGPUBoost;
trackGPUTemp.Value = AsusACPI.MaxGPUTemp; trackGPUTemp.Value = AsusACPI.MaxGPUTemp;
AppConfig.setConfigPerf("gpu_boost", trackGPUBoost.Value); AppConfig.SetMode("gpu_boost", trackGPUBoost.Value);
AppConfig.setConfigPerf("gpu_temp", trackGPUTemp.Value); AppConfig.SetMode("gpu_temp", trackGPUTemp.Value);
AppConfig.setConfigPerf("gpu_core", trackGPUCore.Value); AppConfig.SetMode("gpu_core", trackGPUCore.Value);
AppConfig.setConfigPerf("gpu_memory", trackGPUMemory.Value); AppConfig.SetMode("gpu_memory", trackGPUMemory.Value);
VisualiseGPUSettings(); VisualiseGPUSettings();
Program.settingsForm.SetGPUClocks(true); Program.settingsForm.SetGPUClocks(true);
@@ -639,10 +681,10 @@ namespace GHelper
SaveProfile(seriesCPU, AsusFan.CPU); SaveProfile(seriesCPU, AsusFan.CPU);
SaveProfile(seriesGPU, AsusFan.GPU); SaveProfile(seriesGPU, AsusFan.GPU);
if (AppConfig.isConfig("mid_fan")) if (AppConfig.Is("mid_fan"))
SaveProfile(seriesMid, AsusFan.Mid); SaveProfile(seriesMid, AsusFan.Mid);
if (AppConfig.isConfig("xgm_fan")) if (AppConfig.Is("xgm_fan"))
SaveProfile(seriesXGM, AsusFan.XGM); SaveProfile(seriesXGM, AsusFan.XGM);
Program.settingsForm.AutoFans(); Program.settingsForm.AutoFans();

View File

@@ -117,4 +117,33 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="buttonRemove.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL
DwAACw8BkvkDpQAAAclJREFUWEftls0uBEEQx+fkI1zWjeAusTyBeAC8EC68Ahu8DImvp8ANF44EB/x/
na3LRM9099YSyf6TXzJdU13T011d3dVI/02rYl+ciQfx0YdnbLzDx13r4lJ8JXIh6DOwJsWJ+BQEfhIH
YkMsiLE+PGM7FPjgSx/6EqNIM+JaEOxFbIsp0SZ8dsSroC8xOiJLjNo+fiOWRa6WxK2wQWTNBFNnH5/F
UCj62iCOMKSI5GH9mPaSP6+LGCwHMdcwtMmynTX3ErGIeR5aDVoROJLJKQmXKmLZ7uAbUVFIcGKreasn
iL0XWhFRzXBiT3trUxD7NLQiehQ4zYeWrxYFsSnbUb0LnKhudWHPoa5xgf0ttCL68wHYElDbvWVLcB9a
EQ0zCbcEsRuT0LYhp5q3krbhsArRtHgWxG4sRIjLBI4cqV7aFcRsLcXIDiMOkC6GAZV9GKFjwYg5Sucw
FIq+d4JYyccx4vJwJWwQJRdNZs8+zoVkQmSJa5QNgikkJ0imNuHDmtuVjBjZVzITM8HUsX4EI5PZThws
FBa7lPLMPuedZTt96Jv95z+J5CGDCZwCvskJlyP2MIWEakZJ5ewAnrHxzmPnjPRbqqpvzOytki4+4b0A
AAAASUVORK5CYII=
</value>
</data>
<data name="buttonAdd.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL
DwAACw8BkvkDpQAAAddJREFUWEftlssuBUEQhmflEjbsCPYSlycQD4AXwoZXQPAyJG5PgR02LAkW+L/O
qc3J6emqOXOI5PzJl0z3VNfUdFdXdzXUf9Oq2Bfn4lF8duCZPt5h07rWxZX4dnIpGNO3xsWp+BI4fhYH
YkPMi5EOPNN3KLDBljGMxUcjTYsbgbNXsS0mREnY7Ig3wVh8TImQiNo+fiuWRFSL4k5YEKGZYOrs4zN0
NBRjLYhjOjwieVg/pr3Jn3cLHywHPtfoKMmynTVvS/jC50Vq1WhFYEgmexIOWygJX7Y7+EZWFBKM2Goe
eQNARwLbvdTKiGqGEXvao0gAmwLbs9TK6ElgNJdaZUUCWBDYUraz+hAYUd16yT5YopdGBe/eUyujPw/A
loDa7lHdB7tlS/CQWhkNMgm3BLa1SWjbkFPNo0gArm04qEI0KV4EtrWFCHGZwJAjtS3tCnwWSzGyw4gD
ZJmOPhU+jNCJIGKO0lk6Goqx9wJf7uMYcXm4FhZEk4sms2cf50IyJkLiGmVBMIXkBMlUEjasuV3J8BG+
kpmYCaaO9cMZmcx24mChsNillGf2Oe8s2xnD2PCf9xLJQwbj2AO27oSLiD1MIaGaUVI5O4Bn+njXxs4Z
6rdUVT8f7bmGe+JHiAAAAABJRU5ErkJggg==
</value>
</data>
</root> </root>

View File

@@ -16,7 +16,7 @@
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<ProduceReferenceAssembly>False</ProduceReferenceAssembly> <ProduceReferenceAssembly>False</ProduceReferenceAssembly>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks> <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<AssemblyVersion>0.82</AssemblyVersion> <AssemblyVersion>0.83</AssemblyVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -111,8 +111,8 @@ public class NvidiaGpuControl : IGpuControl
public int SetClocksFromConfig() public int SetClocksFromConfig()
{ {
int core = AppConfig.getConfig("gpu_core"); int core = AppConfig.Get("gpu_core",0);
int memory = AppConfig.getConfig("gpu_memory"); int memory = AppConfig.Get("gpu_memory",0);
int status = SetClocks(core, memory); int status = SetClocks(core, memory);
return status; return status;
} }

View File

@@ -19,7 +19,7 @@ public static class HardwareControl
public static int GetFanMax() public static int GetFanMax()
{ {
int max = 58; int max = 58;
int configMax = AppConfig.getConfig("fan_max"); int configMax = AppConfig.Get("fan_max");
if (configMax > 100) configMax = 0; // skipping inadvequate settings if (configMax > 100) configMax = 0; // skipping inadvequate settings
if (AppConfig.ContainsModel("401")) max = 72; if (AppConfig.ContainsModel("401")) max = 72;
@@ -29,7 +29,7 @@ public static class HardwareControl
public static void SetFanMax(int fan) public static void SetFanMax(int fan)
{ {
AppConfig.setConfig("fan_max", fan); AppConfig.Set("fan_max", fan);
} }
public static string FormatFan(int fan) public static string FormatFan(int fan)
{ {
@@ -43,7 +43,7 @@ public static class HardwareControl
int fanMax = GetFanMax(); int fanMax = GetFanMax();
if (fan > fanMax && fan < 110) SetFanMax(fan); if (fan > fanMax && fan < 110) SetFanMax(fan);
if (AppConfig.getConfig("fan_rpm") == 1) if (AppConfig.Is("fan_rpm"))
return GHelper.Properties.Strings.FanSpeed + (fan * 100).ToString() + "RPM"; return GHelper.Properties.Strings.FanSpeed + (fan * 100).ToString() + "RPM";
else else
return GHelper.Properties.Strings.FanSpeed + Math.Min(Math.Round((float)fan / fanMax * 100), 100).ToString() + "%"; // relatively to 6000 rpm return GHelper.Properties.Strings.FanSpeed + Math.Min(Math.Round((float)fan / fanMax * 100), 100).ToString() + "%"; // relatively to 6000 rpm
@@ -189,7 +189,7 @@ public static class HardwareControl
List<string> tokill = new() { "EADesktop", "RadeonSoftware", "epicgameslauncher", "ASUSSmartDisplayControl" }; List<string> tokill = new() { "EADesktop", "RadeonSoftware", "epicgameslauncher", "ASUSSmartDisplayControl" };
if (AppConfig.isConfig("kill_gpu_apps")) if (AppConfig.Is("kill_gpu_apps"))
{ {
tokill.Add("nvdisplay.container"); tokill.Add("nvdisplay.container");
tokill.Add("nvcontainer"); tokill.Add("nvcontainer");
@@ -198,7 +198,7 @@ public static class HardwareControl
foreach (string kill in tokill) ProcessHelper.KillByName(kill); foreach (string kill in tokill) ProcessHelper.KillByName(kill);
if (AppConfig.isConfig("kill_gpu_apps") && GpuControl is not null) if (AppConfig.Is("kill_gpu_apps") && GpuControl is not null)
{ {
GpuControl.KillGPUApps(); GpuControl.KillGPUApps();
} }

View File

@@ -86,9 +86,9 @@ namespace GHelper
int kb_timeout; int kb_timeout;
if (SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online) if (SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online)
kb_timeout = AppConfig.getConfig("keyboard_ac_timeout", 0); kb_timeout = AppConfig.Get("keyboard_ac_timeout", 0);
else else
kb_timeout = AppConfig.getConfig("keyboard_timeout", 60); kb_timeout = AppConfig.Get("keyboard_timeout", 60);
if (kb_timeout == 0) return; if (kb_timeout == 0) return;
@@ -123,8 +123,8 @@ namespace GHelper
public void InitBacklightTimer() public void InitBacklightTimer()
{ {
timer.Enabled = (AppConfig.getConfig("keyboard_timeout") > 0 && SystemInformation.PowerStatus.PowerLineStatus != PowerLineStatus.Online) || timer.Enabled = (AppConfig.Get("keyboard_timeout") > 0 && SystemInformation.PowerStatus.PowerLineStatus != PowerLineStatus.Online) ||
(AppConfig.getConfig("keyboard_ac_timeout") > 0 && SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online); (AppConfig.Get("keyboard_ac_timeout") > 0 && SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online);
} }
@@ -134,11 +134,11 @@ namespace GHelper
hook.UnregisterAll(); hook.UnregisterAll();
// CTRL + SHIFT + F5 to cycle profiles // CTRL + SHIFT + F5 to cycle profiles
if (AppConfig.getConfig("keybind_profile") != -1) keyProfile = (Keys)AppConfig.getConfig("keybind_profile"); if (AppConfig.Get("keybind_profile") != -1) keyProfile = (Keys)AppConfig.Get("keybind_profile");
if (AppConfig.getConfig("keybind_app") != -1) keyApp = (Keys)AppConfig.getConfig("keybind_app"); if (AppConfig.Get("keybind_app") != -1) keyApp = (Keys)AppConfig.Get("keybind_app");
string actionM1 = AppConfig.getConfigString("m1"); string actionM1 = AppConfig.GetString("m1");
string actionM2 = AppConfig.getConfigString("m2"); string actionM2 = AppConfig.GetString("m2");
if (keyProfile != Keys.None) hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control, keyProfile); if (keyProfile != Keys.None) hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control, keyProfile);
if (keyApp != Keys.None) hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control, keyApp); if (keyApp != Keys.None) hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control, keyApp);
@@ -149,14 +149,14 @@ namespace GHelper
// FN-Lock group // FN-Lock group
if (AppConfig.isConfig("fn_lock") && !AppConfig.ContainsModel("VivoBook")) if (AppConfig.Is("fn_lock") && !AppConfig.ContainsModel("VivoBook"))
for (Keys i = Keys.F1; i <= Keys.F11; i++) hook.RegisterHotKey(ModifierKeys.None, i); for (Keys i = Keys.F1; i <= Keys.F11; i++) hook.RegisterHotKey(ModifierKeys.None, i);
} }
static void CustomKey(string configKey = "m3") static void CustomKey(string configKey = "m3")
{ {
string command = AppConfig.getConfigString(configKey + "_custom"); string command = AppConfig.GetString(configKey + "_custom");
int intKey; int intKey;
try try
@@ -202,7 +202,7 @@ namespace GHelper
} }
} }
if (AppConfig.ContainsModel("GA401I")) if (AppConfig.ContainsModel("GA401I") && !AppConfig.ContainsModel("GA401IHR"))
{ {
switch (e.Key) switch (e.Key)
{ {
@@ -284,7 +284,7 @@ namespace GHelper
public static void KeyProcess(string name = "m3") public static void KeyProcess(string name = "m3")
{ {
string action = AppConfig.getConfigString(name); string action = AppConfig.GetString(name);
if (action is null || action.Length <= 1) if (action is null || action.Length <= 1)
{ {
@@ -366,8 +366,8 @@ namespace GHelper
static void ToggleFnLock() static void ToggleFnLock()
{ {
int fnLock = AppConfig.isConfig("fn_lock") ? 0 : 1; int fnLock = AppConfig.Is("fn_lock") ? 0 : 1;
AppConfig.setConfig("fn_lock", fnLock); AppConfig.Set("fn_lock", fnLock);
if (AppConfig.ContainsModel("VivoBook")) if (AppConfig.ContainsModel("VivoBook"))
Program.acpi.DeviceSet(AsusACPI.FnLock, (fnLock == 1) ? 0 : 1, "FnLock"); Program.acpi.DeviceSet(AsusACPI.FnLock, (fnLock == 1) ? 0 : 1, "FnLock");
@@ -458,8 +458,8 @@ namespace GHelper
public static int GetBacklight() public static int GetBacklight()
{ {
int backlight_power = AppConfig.getConfig("keyboard_brightness", 1); int backlight_power = AppConfig.Get("keyboard_brightness", 1);
int backlight_battery = AppConfig.getConfig("keyboard_brightness_ac", 1); int backlight_battery = AppConfig.Get("keyboard_brightness_ac", 1);
bool onBattery = SystemInformation.PowerStatus.PowerLineStatus != PowerLineStatus.Online; bool onBattery = SystemInformation.PowerStatus.PowerLineStatus != PowerLineStatus.Online;
int backlight; int backlight;
@@ -480,8 +480,8 @@ namespace GHelper
public static void SetBacklight(int delta) public static void SetBacklight(int delta)
{ {
int backlight_power = AppConfig.getConfig("keyboard_brightness", 1); int backlight_power = AppConfig.Get("keyboard_brightness", 1);
int backlight_battery = AppConfig.getConfig("keyboard_brightness_ac", 1); int backlight_battery = AppConfig.Get("keyboard_brightness_ac", 1);
bool onBattery = SystemInformation.PowerStatus.PowerLineStatus != PowerLineStatus.Online; bool onBattery = SystemInformation.PowerStatus.PowerLineStatus != PowerLineStatus.Online;
int backlight = onBattery ? backlight_battery : backlight_power; int backlight = onBattery ? backlight_battery : backlight_power;
@@ -492,9 +492,9 @@ namespace GHelper
backlight = Math.Max(Math.Min(3, backlight + delta), 0); backlight = Math.Max(Math.Min(3, backlight + delta), 0);
if (onBattery) if (onBattery)
AppConfig.setConfig("keyboard_brightness_ac", backlight); AppConfig.Set("keyboard_brightness_ac", backlight);
else else
AppConfig.setConfig("keyboard_brightness", backlight); AppConfig.Set("keyboard_brightness", backlight);
if (!OptimizationService.IsRunning()) if (!OptimizationService.IsRunning())
{ {

141
app/Modes.cs Normal file
View File

@@ -0,0 +1,141 @@
namespace GHelper
{
internal class Modes
{
const int maxModes = 20;
public static Dictionary<int, string> GetList()
{
Dictionary<int, string> modes = new Dictionary<int, string>
{
{2, Properties.Strings.Silent},
{0, Properties.Strings.Balanced},
{1, Properties.Strings.Turbo}
};
for (int i = 3; i < maxModes; i++)
{
if (Exists(i))
modes.Add(i, GetName(i));
}
return modes;
}
public static void Remove(int mode)
{
List<string> cleanup = new() {
"mode_base",
"mode_name",
"limit_total",
"limit_fast",
"limit_cpu",
"limit_total",
"fan_profile_cpu",
"fan_profile_gpu",
"fan_profile_mid",
"gpu_boost",
"gpu_temp",
"gpu_core",
"gpu_memory",
"auto_boost",
"auto_apply",
"auto_apply_power"
};
foreach (string clean in cleanup)
{
AppConfig.Remove(clean + "_" + mode);
}
}
public static int Add()
{
for (int i = 3; i < maxModes; i++)
{
if (!Exists(i))
{
int modeBase = GetCurrentBase();
string nameName = "Custom " + (i - 2);
AppConfig.Set("mode_base_" + i, modeBase);
AppConfig.Set("mode_name_" + i, nameName);
return i;
}
}
return -1;
}
public static int GetCurrent()
{
return AppConfig.Get("performance_mode");
}
public static bool IsCurrentCustom()
{
return GetCurrent() > 2;
}
public static void SetCurrent(int mode)
{
AppConfig.Set("performance_" + (int)SystemInformation.PowerStatus.PowerLineStatus, mode);
AppConfig.Set("performance_mode", mode);
}
public static int GetCurrentBase()
{
return GetBase(GetCurrent());
}
public static string GetCurrentName()
{
return GetName(GetCurrent());
}
public static bool Exists(int mode)
{
return GetBase(mode) >= 0;
}
public static int GetBase(int mode)
{
if (mode >= 0 && mode <= 2)
return mode;
else
return AppConfig.Get("mode_base_" + mode);
}
public static string GetName(int mode)
{
switch (mode)
{
case 0:
return Properties.Strings.Balanced;
case 1:
return Properties.Strings.Turbo;
case 2:
return Properties.Strings.Silent;
default:
return AppConfig.GetString("mode_name_" + mode);
}
}
public static int GetNext(bool back = false)
{
int mode = GetCurrent();
if (back)
{
mode--;
if (mode < 0) mode = 2;
}
else
{
mode++;
if (mode > 2) mode = 0;
}
return mode;
}
}
}

View File

@@ -636,7 +636,7 @@ public class NativeMethods
var devices = GetAllDevices().ToArray(); var devices = GetAllDevices().ToArray();
int count = 0, displayNum = -1; int count = 0, displayNum = -1;
string internalName = AppConfig.getConfigString("internal_display"); string internalName = AppConfig.GetString("internal_display");
foreach (var device in devices) foreach (var device in devices)
{ {
@@ -645,7 +645,7 @@ public class NativeMethods
device.monitorFriendlyDeviceName == internalName) device.monitorFriendlyDeviceName == internalName)
{ {
displayNum = count; displayNum = count;
AppConfig.setConfig("internal_display", device.monitorFriendlyDeviceName); AppConfig.Set("internal_display", device.monitorFriendlyDeviceName);
} }
count++; count++;
//Logger.WriteLine(device.monitorFriendlyDeviceName + ":" + device.outputTechnology.ToString()); //Logger.WriteLine(device.monitorFriendlyDeviceName + ":" + device.outputTechnology.ToString());

View File

@@ -57,8 +57,14 @@ namespace GHelper
startInfo.FileName = Application.ExecutablePath; startInfo.FileName = Application.ExecutablePath;
startInfo.Arguments = param; startInfo.Arguments = param;
startInfo.Verb = "runas"; startInfo.Verb = "runas";
try
{
Process.Start(startInfo); Process.Start(startInfo);
Application.Exit(); Application.Exit();
} catch (Exception ex)
{
Logger.WriteLine(ex.Message);
}
} }
} }

View File

@@ -38,7 +38,7 @@ namespace GHelper
string action = ""; string action = "";
if (args.Length > 0) action = args[0]; if (args.Length > 0) action = args[0];
string language = AppConfig.getConfigString("language"); string language = AppConfig.GetString("language");
if (language != null && language.Length > 0) if (language != null && language.Length > 0)
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(language); Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(language);
@@ -147,7 +147,7 @@ namespace GHelper
inputDispatcher.Init(); inputDispatcher.Init();
settingsForm.SetBatteryChargeLimit(AppConfig.getConfig("charge_limit")); settingsForm.SetBatteryChargeLimit(AppConfig.Get("charge_limit"));
settingsForm.AutoPerformance(powerChanged); settingsForm.AutoPerformance(powerChanged);
bool switched = settingsForm.AutoGPUMode(); bool switched = settingsForm.AutoGPUMode();

Binary file not shown.

After

Width:  |  Height:  |  Size: 607 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

View File

@@ -23,7 +23,7 @@ namespace GHelper
public string versionUrl = "http://github.com/seerge/g-helper/releases"; public string versionUrl = "http://github.com/seerge/g-helper/releases";
public string perfName = "Balanced"; public string modeName = "Balanced";
public AniMatrix matrix; public AniMatrix matrix;
public Fans fans; public Fans fans;
@@ -176,7 +176,7 @@ namespace GHelper
labelModel.Text = model + (ProcessHelper.IsUserAdministrator() ? "." : ""); labelModel.Text = model + (ProcessHelper.IsUserAdministrator() ? "." : "");
TopMost = AppConfig.isConfig("topmost"); TopMost = AppConfig.Is("topmost");
SetContextMenu(); SetContextMenu();
@@ -247,7 +247,7 @@ namespace GHelper
public void SetContextMenu() public void SetContextMenu()
{ {
var mode = AppConfig.getConfig("performance_mode"); var mode = Modes.GetCurrent();
contextMenuStrip.Items.Clear(); contextMenuStrip.Items.Clear();
Padding padding = new Padding(15, 5, 5, 5); Padding padding = new Padding(15, 5, 5, 5);
@@ -354,12 +354,12 @@ namespace GHelper
else else
{ {
Program.acpi.DeviceSet(AsusACPI.GPUXG, 1, "GPU XGM"); Program.acpi.DeviceSet(AsusACPI.GPUXG, 1, "GPU XGM");
AsusUSB.ApplyXGMLight(AppConfig.isConfig("xmg_light")); AsusUSB.ApplyXGMLight(AppConfig.Is("xmg_light"));
await Task.Delay(TimeSpan.FromSeconds(15)); await Task.Delay(TimeSpan.FromSeconds(15));
if (AppConfig.isConfigPerf("auto_apply")) if (AppConfig.IsMode("auto_apply"))
AsusUSB.SetXGMFan(AppConfig.getFanConfig(AsusFan.XGM)); AsusUSB.SetXGMFan(AppConfig.GetFanConfig(AsusFan.XGM));
} }
BeginInvoke(delegate BeginInvoke(delegate
@@ -410,13 +410,13 @@ namespace GHelper
if (gitVersion.CompareTo(appVersion) > 0) if (gitVersion.CompareTo(appVersion) > 0)
{ {
SetVersionLabel(Properties.Strings.DownloadUpdate + ": " + tag, url); SetVersionLabel(Properties.Strings.DownloadUpdate + ": " + tag, url);
if (AppConfig.getConfigString("skip_version") != tag) if (AppConfig.GetString("skip_version") != tag)
{ {
DialogResult dialogResult = MessageBox.Show(Properties.Strings.DownloadUpdate + ": G-Helper " + tag + "?", "Update", MessageBoxButtons.YesNo); DialogResult dialogResult = MessageBox.Show(Properties.Strings.DownloadUpdate + ": G-Helper " + tag + "?", "Update", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes) if (dialogResult == DialogResult.Yes)
AutoUpdate(url); AutoUpdate(url);
else else
AppConfig.setConfig("skip_version", tag); AppConfig.Set("skip_version", tag);
} }
} }
@@ -557,14 +557,14 @@ namespace GHelper
private void ButtonOptimized_Click(object? sender, EventArgs e) private void ButtonOptimized_Click(object? sender, EventArgs e)
{ {
AppConfig.setConfig("gpu_auto", (AppConfig.getConfig("gpu_auto") == 1) ? 0 : 1); AppConfig.Set("gpu_auto", (AppConfig.Get("gpu_auto") == 1) ? 0 : 1);
VisualiseGPUMode(); VisualiseGPUMode();
AutoGPUMode(); AutoGPUMode();
} }
private void ButtonScreenAuto_Click(object? sender, EventArgs e) private void ButtonScreenAuto_Click(object? sender, EventArgs e)
{ {
AppConfig.setConfig("screen_auto", 1); AppConfig.Set("screen_auto", 1);
InitScreen(); InitScreen();
AutoScreen(); AutoScreen();
} }
@@ -589,7 +589,7 @@ namespace GHelper
{ {
if (sender is null) return; if (sender is null) return;
CheckBox check = (CheckBox)sender; CheckBox check = (CheckBox)sender;
AppConfig.setConfig("matrix_auto", check.Checked ? 1 : 0); AppConfig.Set("matrix_auto", check.Checked ? 1 : 0);
matrix?.SetMatrix(); matrix?.SetMatrix();
} }
@@ -616,8 +616,8 @@ namespace GHelper
if (fileName is not null) if (fileName is not null)
{ {
AppConfig.setConfig("matrix_picture", fileName); AppConfig.Set("matrix_picture", fileName);
AppConfig.setConfig("matrix_running", 2); AppConfig.Set("matrix_running", 2);
matrix?.SetMatrixPicture(fileName); matrix?.SetMatrixPicture(fileName);
BeginInvoke(delegate BeginInvoke(delegate
@@ -631,21 +631,21 @@ namespace GHelper
private void ComboMatrixRunning_SelectedValueChanged(object? sender, EventArgs e) private void ComboMatrixRunning_SelectedValueChanged(object? sender, EventArgs e)
{ {
AppConfig.setConfig("matrix_running", comboMatrixRunning.SelectedIndex); AppConfig.Set("matrix_running", comboMatrixRunning.SelectedIndex);
matrix?.SetMatrix(); matrix?.SetMatrix();
} }
private void ComboMatrix_SelectedValueChanged(object? sender, EventArgs e) private void ComboMatrix_SelectedValueChanged(object? sender, EventArgs e)
{ {
AppConfig.setConfig("matrix_brightness", comboMatrix.SelectedIndex); AppConfig.Set("matrix_brightness", comboMatrix.SelectedIndex);
matrix?.SetMatrix(); matrix?.SetMatrix();
} }
private void LabelCPUFan_Click(object? sender, EventArgs e) private void LabelCPUFan_Click(object? sender, EventArgs e)
{ {
AppConfig.setConfig("fan_rpm", (AppConfig.getConfig("fan_rpm") == 1) ? 0 : 1); AppConfig.Set("fan_rpm", (AppConfig.Get("fan_rpm") == 1) ? 0 : 1);
RefreshSensors(true); RefreshSensors(true);
} }
@@ -658,7 +658,7 @@ namespace GHelper
if (colorDlg.ShowDialog() == DialogResult.OK) if (colorDlg.ShowDialog() == DialogResult.OK)
{ {
AppConfig.setConfig("aura_color2", colorDlg.Color.ToArgb()); AppConfig.Set("aura_color2", colorDlg.Color.ToArgb());
SetAura(); SetAura();
} }
} }
@@ -714,17 +714,17 @@ namespace GHelper
if (colorDlg.ShowDialog() == DialogResult.OK) if (colorDlg.ShowDialog() == DialogResult.OK)
{ {
AppConfig.setConfig("aura_color", colorDlg.Color.ToArgb()); AppConfig.Set("aura_color", colorDlg.Color.ToArgb());
SetAura(); SetAura();
} }
} }
public void InitAura() public void InitAura()
{ {
AsusUSB.Mode = AppConfig.getConfig("aura_mode"); AsusUSB.Mode = AppConfig.Get("aura_mode");
AsusUSB.Speed = AppConfig.getConfig("aura_speed"); AsusUSB.Speed = AppConfig.Get("aura_speed");
AsusUSB.SetColor(AppConfig.getConfig("aura_color")); AsusUSB.SetColor(AppConfig.Get("aura_color"));
AsusUSB.SetColor2(AppConfig.getConfig("aura_color2")); AsusUSB.SetColor2(AppConfig.Get("aura_color2"));
comboKeyboard.DropDownStyle = ComboBoxStyle.DropDownList; comboKeyboard.DropDownStyle = ComboBoxStyle.DropDownList;
comboKeyboard.DataSource = new BindingSource(AsusUSB.GetModes(), null); comboKeyboard.DataSource = new BindingSource(AsusUSB.GetModes(), null);
@@ -760,13 +760,13 @@ namespace GHelper
return; return;
} }
int brightness = AppConfig.getConfig("matrix_brightness"); int brightness = AppConfig.Get("matrix_brightness");
int running = AppConfig.getConfig("matrix_running"); int running = AppConfig.Get("matrix_running");
comboMatrix.SelectedIndex = (brightness != -1) ? Math.Min(brightness, comboMatrix.Items.Count - 1) : 0; comboMatrix.SelectedIndex = (brightness != -1) ? Math.Min(brightness, comboMatrix.Items.Count - 1) : 0;
comboMatrixRunning.SelectedIndex = (running != -1) ? Math.Min(running, comboMatrixRunning.Items.Count - 1) : 0; comboMatrixRunning.SelectedIndex = (running != -1) ? Math.Min(running, comboMatrixRunning.Items.Count - 1) : 0;
checkMatrix.Checked = (AppConfig.getConfig("matrix_auto") == 1); checkMatrix.Checked = (AppConfig.Get("matrix_auto") == 1);
checkMatrix.CheckedChanged += CheckMatrix_CheckedChanged; checkMatrix.CheckedChanged += CheckMatrix_CheckedChanged;
} }
@@ -774,10 +774,10 @@ namespace GHelper
public void SetAura() public void SetAura()
{ {
AsusUSB.Mode = AppConfig.getConfig("aura_mode"); AsusUSB.Mode = AppConfig.Get("aura_mode");
AsusUSB.Speed = AppConfig.getConfig("aura_speed"); AsusUSB.Speed = AppConfig.Get("aura_speed");
AsusUSB.SetColor(AppConfig.getConfig("aura_color")); AsusUSB.SetColor(AppConfig.Get("aura_color"));
AsusUSB.SetColor2(AppConfig.getConfig("aura_color2")); AsusUSB.SetColor2(AppConfig.Get("aura_color2"));
pictureColor.BackColor = AsusUSB.Color1; pictureColor.BackColor = AsusUSB.Color1;
pictureColor2.BackColor = AsusUSB.Color2; pictureColor2.BackColor = AsusUSB.Color2;
@@ -797,27 +797,27 @@ namespace GHelper
private void ComboKeyboard_SelectedValueChanged(object? sender, EventArgs e) private void ComboKeyboard_SelectedValueChanged(object? sender, EventArgs e)
{ {
AppConfig.setConfig("aura_mode", (int)comboKeyboard.SelectedValue); AppConfig.Set("aura_mode", (int)comboKeyboard.SelectedValue);
SetAura(); SetAura();
} }
private void Button120Hz_Click(object? sender, EventArgs e) private void Button120Hz_Click(object? sender, EventArgs e)
{ {
AppConfig.setConfig("screen_auto", 0); AppConfig.Set("screen_auto", 0);
SetScreen(1000, 1); SetScreen(1000, 1);
} }
private void Button60Hz_Click(object? sender, EventArgs e) private void Button60Hz_Click(object? sender, EventArgs e)
{ {
AppConfig.setConfig("screen_auto", 0); AppConfig.Set("screen_auto", 0);
SetScreen(60, 0); SetScreen(60, 0);
} }
public void ToogleMiniled() public void ToogleMiniled()
{ {
int miniled = (AppConfig.getConfig("miniled") == 1) ? 0 : 1; int miniled = (AppConfig.Get("miniled") == 1) ? 0 : 1;
AppConfig.setConfig("miniled", miniled); AppConfig.Set("miniled", miniled);
SetScreen(-1, -1, miniled); SetScreen(-1, -1, miniled);
} }
@@ -847,7 +847,7 @@ namespace GHelper
if (overdrive >= 0) if (overdrive >= 0)
{ {
if (AppConfig.getConfig("no_overdrive") == 1) overdrive = 0; if (AppConfig.Get("no_overdrive") == 1) overdrive = 0;
Program.acpi.DeviceSet(AsusACPI.ScreenOverdrive, overdrive, "ScreenOverdrive"); Program.acpi.DeviceSet(AsusACPI.ScreenOverdrive, overdrive, "ScreenOverdrive");
} }
@@ -867,8 +867,8 @@ namespace GHelper
int frequency = NativeMethods.GetRefreshRate(); int frequency = NativeMethods.GetRefreshRate();
int maxFrequency = NativeMethods.GetRefreshRate(true); int maxFrequency = NativeMethods.GetRefreshRate(true);
bool screenAuto = (AppConfig.getConfig("screen_auto") == 1); bool screenAuto = (AppConfig.Get("screen_auto") == 1);
bool overdriveSetting = (AppConfig.getConfig("no_overdrive") != 1); bool overdriveSetting = (AppConfig.Get("no_overdrive") != 1);
int overdrive = Program.acpi.DeviceGet(AsusACPI.ScreenOverdrive); int overdrive = Program.acpi.DeviceGet(AsusACPI.ScreenOverdrive);
int miniled = Program.acpi.DeviceGet(AsusACPI.ScreenMiniled); int miniled = Program.acpi.DeviceGet(AsusACPI.ScreenMiniled);
@@ -914,15 +914,15 @@ namespace GHelper
if (miniled >= 0) if (miniled >= 0)
{ {
buttonMiniled.Activated = (miniled == 1); buttonMiniled.Activated = (miniled == 1);
AppConfig.setConfig("miniled", miniled); AppConfig.Set("miniled", miniled);
} }
else else
{ {
buttonMiniled.Visible = false; buttonMiniled.Visible = false;
} }
AppConfig.setConfig("frequency", frequency); AppConfig.Set("frequency", frequency);
AppConfig.setConfig("overdrive", overdrive); AppConfig.Set("overdrive", overdrive);
} }
private void ButtonQuit_Click(object? sender, EventArgs e) private void ButtonQuit_Click(object? sender, EventArgs e)
@@ -1034,15 +1034,15 @@ namespace GHelper
private void SetPerformanceLabel() private void SetPerformanceLabel()
{ {
labelPerf.Text = Properties.Strings.PerformanceMode + (customFans ? "+" : "") + ((customPower > 0) ? " " + customPower + "W" : ""); labelPerf.Text = Properties.Strings.PerformanceMode + ": " + Modes.GetCurrentName() + (customFans ? "+" : "") + ((customPower > 0) ? " " + customPower + "W" : "");
} }
public void SetPower() public void SetPower()
{ {
int limit_total = AppConfig.getConfigPerf("limit_total"); int limit_total = AppConfig.GetMode("limit_total");
int limit_cpu = AppConfig.getConfigPerf("limit_cpu"); int limit_cpu = AppConfig.GetMode("limit_cpu");
int limit_fast = AppConfig.getConfigPerf("limit_fast"); int limit_fast = AppConfig.GetMode("limit_fast");
if (limit_total > AsusACPI.MaxTotal) return; if (limit_total > AsusACPI.MaxTotal) return;
if (limit_total < AsusACPI.MinTotal) return; if (limit_total < AsusACPI.MinTotal) return;
@@ -1081,8 +1081,8 @@ namespace GHelper
public void SetGPUClocks(bool launchAsAdmin = true) public void SetGPUClocks(bool launchAsAdmin = true)
{ {
int gpu_core = AppConfig.getConfigPerf("gpu_core"); int gpu_core = AppConfig.GetMode("gpu_core");
int gpu_memory = AppConfig.getConfigPerf("gpu_memory"); int gpu_memory = AppConfig.GetMode("gpu_memory");
if (gpu_core == -1 && gpu_memory == -1) return; if (gpu_core == -1 && gpu_memory == -1) return;
@@ -1114,8 +1114,8 @@ namespace GHelper
public void SetGPUPower() public void SetGPUPower()
{ {
int gpu_boost = AppConfig.getConfigPerf("gpu_boost"); int gpu_boost = AppConfig.GetMode("gpu_boost");
int gpu_temp = AppConfig.getConfigPerf("gpu_temp"); int gpu_temp = AppConfig.GetMode("gpu_temp");
if (gpu_boost < AsusACPI.MinGPUBoost || gpu_boost > AsusACPI.MaxGPUBoost) return; if (gpu_boost < AsusACPI.MinGPUBoost || gpu_boost > AsusACPI.MaxGPUBoost) return;
@@ -1144,28 +1144,28 @@ namespace GHelper
{ {
customFans = false; customFans = false;
if (AppConfig.isConfigPerf("auto_apply") || force) if (AppConfig.IsMode("auto_apply") || force)
{ {
bool xgmFan = false; bool xgmFan = false;
if (AppConfig.isConfig("xgm_fan") && Program.acpi.IsXGConnected()) if (AppConfig.Is("xgm_fan") && Program.acpi.IsXGConnected())
{ {
AsusUSB.SetXGMFan(AppConfig.getFanConfig(AsusFan.XGM)); AsusUSB.SetXGMFan(AppConfig.GetFanConfig(AsusFan.XGM));
xgmFan = true; xgmFan = true;
} }
int cpuResult = Program.acpi.SetFanCurve(AsusFan.CPU, AppConfig.getFanConfig(AsusFan.CPU)); int cpuResult = Program.acpi.SetFanCurve(AsusFan.CPU, AppConfig.GetFanConfig(AsusFan.CPU));
int gpuResult = Program.acpi.SetFanCurve(AsusFan.GPU, AppConfig.getFanConfig(AsusFan.GPU)); int gpuResult = Program.acpi.SetFanCurve(AsusFan.GPU, AppConfig.GetFanConfig(AsusFan.GPU));
if (AppConfig.isConfig("mid_fan")) if (AppConfig.Is("mid_fan"))
Program.acpi.SetFanCurve(AsusFan.Mid, AppConfig.getFanConfig(AsusFan.Mid)); Program.acpi.SetFanCurve(AsusFan.Mid, AppConfig.GetFanConfig(AsusFan.Mid));
// something went wrong, resetting to default profile // something went wrong, resetting to default profile
if (cpuResult != 1 || gpuResult != 1) if (cpuResult != 1 || gpuResult != 1)
{ {
int mode = AppConfig.getConfig("performance_mode"); int mode = Modes.GetCurrentBase();
Logger.WriteLine("ASUS BIOS rejected fan curve, resetting mode to " + mode); Logger.WriteLine("ASUS BIOS rejected fan curve, resetting mode to " + mode);
Program.acpi.DeviceSet(AsusACPI.PerformanceMode, mode, "Reset Mode"); Program.acpi.DeviceSet(AsusACPI.PerformanceMode, mode, "Reset Mode");
LabelFansResult("ASUS BIOS rejected fan curve"); LabelFansResult("ASUS BIOS rejected fan curve");
@@ -1177,7 +1177,7 @@ namespace GHelper
} }
// force set PPTs for missbehaving bios on FX507/517 series // force set PPTs for missbehaving bios on FX507/517 series
if ((AppConfig.ContainsModel("FX507") || AppConfig.ContainsModel("FX517") || xgmFan) && !AppConfig.isConfigPerf("auto_apply_power")) if ((AppConfig.ContainsModel("FX507") || AppConfig.ContainsModel("FX517") || xgmFan) && !AppConfig.IsMode("auto_apply_power"))
{ {
Task.Run(async () => Task.Run(async () =>
{ {
@@ -1195,11 +1195,11 @@ namespace GHelper
private static bool isManualModeRequired() private static bool isManualModeRequired()
{ {
if (!AppConfig.isConfigPerf("auto_apply_power")) if (!AppConfig.IsMode("auto_apply_power"))
return false; return false;
return return
AppConfig.isConfig("manual_mode") || AppConfig.Is("manual_mode") ||
AppConfig.ContainsModel("GU604") || AppConfig.ContainsModel("GU604") ||
AppConfig.ContainsModel("FX517") || AppConfig.ContainsModel("FX517") ||
AppConfig.ContainsModel("G733"); AppConfig.ContainsModel("G733");
@@ -1210,8 +1210,8 @@ namespace GHelper
customPower = 0; customPower = 0;
bool applyPower = AppConfig.isConfigPerf("auto_apply_power"); bool applyPower = AppConfig.IsMode("auto_apply_power");
bool applyFans = AppConfig.isConfigPerf("auto_apply"); bool applyFans = AppConfig.IsMode("auto_apply");
//bool applyGPU = true; //bool applyGPU = true;
if (applyPower) if (applyPower)
@@ -1251,11 +1251,11 @@ namespace GHelper
} }
public void SetPerformanceMode(int PerformanceMode = -1, bool notify = false) public void SetPerformanceMode(int mode = -1, bool notify = false)
{ {
int oldMode = AppConfig.getConfig("performance_mode"); int oldMode = Modes.GetCurrent();
if (PerformanceMode < 0) PerformanceMode = oldMode; if (mode < 0) mode = oldMode;
buttonSilent.Activated = false; buttonSilent.Activated = false;
buttonBalanced.Activated = false; buttonBalanced.Activated = false;
@@ -1265,43 +1265,47 @@ namespace GHelper
menuBalanced.Checked = false; menuBalanced.Checked = false;
menuTurbo.Checked = false; menuTurbo.Checked = false;
switch (PerformanceMode) switch (mode)
{ {
case AsusACPI.PerformanceSilent: case AsusACPI.PerformanceSilent:
buttonSilent.Activated = true; buttonSilent.Activated = true;
menuSilent.Checked = true; menuSilent.Checked = true;
perfName = Properties.Strings.Silent;
break; break;
case AsusACPI.PerformanceTurbo: case AsusACPI.PerformanceTurbo:
buttonTurbo.Activated = true; buttonTurbo.Activated = true;
menuTurbo.Checked = true; menuTurbo.Checked = true;
perfName = Properties.Strings.Turbo;
break; break;
default: case AsusACPI.PerformanceBalanced:
buttonBalanced.Activated = true; buttonBalanced.Activated = true;
menuBalanced.Checked = true; menuBalanced.Checked = true;
perfName = Properties.Strings.Balanced; break;
PerformanceMode = AsusACPI.PerformanceBalanced; default:
if (!Modes.Exists(mode))
{
buttonBalanced.Activated = true;
menuBalanced.Checked = true;
mode = AsusACPI.PerformanceBalanced;
}
break; break;
} }
var powerStatus = SystemInformation.PowerStatus.PowerLineStatus;
AppConfig.setConfig("performance_" + (int)powerStatus, PerformanceMode); Modes.SetCurrent(mode);
AppConfig.setConfig("performance_mode", PerformanceMode);
SetPerformanceLabel();
if (isManualModeRequired()) if (isManualModeRequired())
Program.acpi.DeviceSet(AsusACPI.PerformanceMode, AsusACPI.PerformanceManual, "Manual Mode"); Program.acpi.DeviceSet(AsusACPI.PerformanceMode, AsusACPI.PerformanceManual, "Manual Mode");
else else
Program.acpi.DeviceSet(AsusACPI.PerformanceMode, PerformanceMode, "Mode"); Program.acpi.DeviceSet(AsusACPI.PerformanceMode, Modes.GetBase(mode), "Mode");
if (AppConfig.isConfig("xgm_fan") && Program.acpi.IsXGConnected()) AsusUSB.ResetXGM(); if (AppConfig.Is("xgm_fan") && Program.acpi.IsXGConnected()) AsusUSB.ResetXGM();
if (notify) if (notify)
{ {
try try
{ {
toast.RunToast(perfName, powerStatus == PowerLineStatus.Online ? ToastIcon.Charger : ToastIcon.Battery); toast.RunToast(Modes.GetCurrentName(), SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online ? ToastIcon.Charger : ToastIcon.Battery);
} }
catch catch
{ {
@@ -1314,17 +1318,17 @@ namespace GHelper
AutoFans(); AutoFans();
AutoPower(1000); AutoPower(1000);
if (AppConfig.getConfig("auto_apply_power_plan") != 0) if (AppConfig.Get("auto_apply_power_plan") != 0)
{ {
if (AppConfig.getConfigPerfString("scheme") is not null) if (AppConfig.GetModeString("scheme") is not null)
NativeMethods.SetPowerScheme(AppConfig.getConfigPerfString("scheme")); NativeMethods.SetPowerScheme(AppConfig.GetModeString("scheme"));
else else
NativeMethods.SetPowerScheme(PerformanceMode); NativeMethods.SetPowerScheme(Modes.GetBase(mode));
} }
if (AppConfig.getConfigPerf("auto_boost") != -1) if (AppConfig.GetMode("auto_boost") != -1)
{ {
NativeMethods.SetCPUBoost(AppConfig.getConfigPerf("auto_boost")); NativeMethods.SetCPUBoost(AppConfig.GetMode("auto_boost"));
} }
if (NativeMethods.PowerGetEffectiveOverlayScheme(out Guid activeScheme) == 0) if (NativeMethods.PowerGetEffectiveOverlayScheme(out Guid activeScheme) == 0)
@@ -1334,6 +1338,7 @@ namespace GHelper
if (fans != null && fans.Text != "") if (fans != null && fans.Text != "")
{ {
fans.InitMode();
fans.InitFans(); fans.InitFans();
fans.InitPower(); fans.InitPower();
fans.InitBoost(); fans.InitBoost();
@@ -1344,14 +1349,7 @@ namespace GHelper
public void CyclePerformanceMode() public void CyclePerformanceMode()
{ {
int mode = AppConfig.getConfig("performance_mode"); SetPerformanceMode(Modes.GetNext(Control.ModifierKeys == Keys.Shift), true);
if (Control.ModifierKeys == Keys.Shift)
mode = (mode == 0) ? 2 : mode - 1;
else
mode++;
SetPerformanceMode(mode, true);
} }
@@ -1360,7 +1358,7 @@ namespace GHelper
InputDispatcher.SetBacklightAuto(true); InputDispatcher.SetBacklightAuto(true);
if (Program.acpi.IsXGConnected()) if (Program.acpi.IsXGConnected())
AsusUSB.ApplyXGMLight(AppConfig.isConfig("xmg_light")); AsusUSB.ApplyXGMLight(AppConfig.Is("xmg_light"));
if (AppConfig.ContainsModel("X16") || AppConfig.ContainsModel("X13")) InputDispatcher.TabletMode(); if (AppConfig.ContainsModel("X16") || AppConfig.ContainsModel("X13")) InputDispatcher.TabletMode();
@@ -1370,17 +1368,17 @@ namespace GHelper
{ {
var Plugged = SystemInformation.PowerStatus.PowerLineStatus; var Plugged = SystemInformation.PowerStatus.PowerLineStatus;
int mode = AppConfig.getConfig("performance_" + (int)Plugged); int mode = AppConfig.Get("performance_" + (int)Plugged);
if (mode != -1) if (mode != -1)
SetPerformanceMode(mode, powerChanged); SetPerformanceMode(mode, powerChanged);
else else
SetPerformanceMode(AppConfig.getConfig("performance_mode")); SetPerformanceMode(Modes.GetCurrent());
} }
public void AutoScreen(bool force = false) public void AutoScreen(bool force = false)
{ {
if (force || AppConfig.getConfig("screen_auto") == 1) if (force || AppConfig.Is("screen_auto"))
{ {
if (SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online) if (SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online)
SetScreen(1000, 1); SetScreen(1000, 1);
@@ -1389,7 +1387,7 @@ namespace GHelper
} }
else else
{ {
SetScreen(overdrive: AppConfig.getConfig("overdrive")); SetScreen(overdrive: AppConfig.Get("overdrive"));
} }
@@ -1398,7 +1396,7 @@ namespace GHelper
public static bool IsPlugged() public static bool IsPlugged()
{ {
bool optimizedUSBC = AppConfig.getConfig("optimized_usbc") != 1; bool optimizedUSBC = AppConfig.Get("optimized_usbc") != 1;
return SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online && return SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online &&
(optimizedUSBC || Program.acpi.DeviceGet(AsusACPI.ChargerMode) < AsusACPI.ChargerUSB); (optimizedUSBC || Program.acpi.DeviceGet(AsusACPI.ChargerMode) < AsusACPI.ChargerUSB);
@@ -1408,10 +1406,10 @@ namespace GHelper
public bool AutoGPUMode() public bool AutoGPUMode()
{ {
bool GpuAuto = AppConfig.getConfig("gpu_auto") == 1; bool GpuAuto = AppConfig.Is("gpu_auto");
bool ForceGPU = AppConfig.ContainsModel("503"); bool ForceGPU = AppConfig.ContainsModel("503");
int GpuMode = AppConfig.getConfig("gpu_mode"); int GpuMode = AppConfig.Get("gpu_mode");
if (!GpuAuto && !ForceGPU) return false; if (!GpuAuto && !ForceGPU) return false;
@@ -1453,7 +1451,7 @@ namespace GHelper
public bool ReEnableGPU() public bool ReEnableGPU()
{ {
if (AppConfig.getConfig("gpu_reenable") != 1) return false; if (AppConfig.Get("gpu_reenable") != 1) return false;
if (Screen.AllScreens.Length <= 1) return false; if (Screen.AllScreens.Length <= 1) return false;
Logger.WriteLine("Re-enabling gpu for 503 model"); Logger.WriteLine("Re-enabling gpu for 503 model");
@@ -1538,7 +1536,7 @@ namespace GHelper
} }
AppConfig.setConfig("gpu_mode", GpuMode); AppConfig.Set("gpu_mode", GpuMode);
ButtonEnabled(buttonOptimized, true); ButtonEnabled(buttonOptimized, true);
ButtonEnabled(buttonEco, true); ButtonEnabled(buttonEco, true);
@@ -1640,8 +1638,8 @@ namespace GHelper
public void SetGPUMode(int GPUMode) public void SetGPUMode(int GPUMode)
{ {
int CurrentGPU = AppConfig.getConfig("gpu_mode"); int CurrentGPU = AppConfig.Get("gpu_mode");
AppConfig.setConfig("gpu_auto", 0); AppConfig.Set("gpu_auto", 0);
if (CurrentGPU == GPUMode) if (CurrentGPU == GPUMode)
{ {
@@ -1688,7 +1686,7 @@ namespace GHelper
if (changed) if (changed)
{ {
AppConfig.setConfig("gpu_mode", GPUMode); AppConfig.Set("gpu_mode", GPUMode);
} }
if (restart) if (restart)
@@ -1704,9 +1702,9 @@ namespace GHelper
{ {
if (GPUMode == -1) if (GPUMode == -1)
GPUMode = AppConfig.getConfig("gpu_mode"); GPUMode = AppConfig.Get("gpu_mode");
bool GPUAuto = (AppConfig.getConfig("gpu_auto") == 1); bool GPUAuto = AppConfig.Is("gpu_auto");
buttonEco.Activated = false; buttonEco.Activated = false;
buttonStandard.Activated = false; buttonStandard.Activated = false;
@@ -1802,7 +1800,7 @@ namespace GHelper
Debug.WriteLine(ex); Debug.WriteLine(ex);
} }
AppConfig.setConfig("charge_limit", limit); AppConfig.Set("charge_limit", limit);
} }