mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f26585e73c | ||
|
|
9f7da4c20a | ||
|
|
eff45c1485 | ||
|
|
be6e5e8f23 | ||
|
|
17083eef21 | ||
|
|
d5b098335b | ||
|
|
acb2efdd00 | ||
|
|
92fa210898 | ||
|
|
6dd4e07efe | ||
|
|
ae6972db76 | ||
|
|
b3f7b1027f | ||
|
|
8929daa604 | ||
|
|
eb522214f0 | ||
|
|
1222377c33 | ||
|
|
933f07d666 | ||
|
|
8f95f6a1bb | ||
|
|
f2c32b2e9a | ||
|
|
ddb591b79a |
@@ -124,7 +124,7 @@ namespace GHelper
|
|||||||
_modes.Remove(3);
|
_modes.Remove(3);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("G513")) {
|
if (AppConfig.ContainsModel("G513QY")) {
|
||||||
return _modes;
|
return _modes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
458
app/Extra.Designer.cs
generated
458
app/Extra.Designer.cs
generated
@@ -86,12 +86,13 @@ namespace GHelper
|
|||||||
checkSleepLid = new CheckBox();
|
checkSleepLid = new CheckBox();
|
||||||
checkShutdownLid = new CheckBox();
|
checkShutdownLid = new CheckBox();
|
||||||
groupOther = new GroupBox();
|
groupOther = new GroupBox();
|
||||||
checkFnLock = new CheckBox();
|
|
||||||
checkGpuApps = new CheckBox();
|
|
||||||
checkAutoApplyWindowsPowerMode = new CheckBox();
|
checkAutoApplyWindowsPowerMode = new CheckBox();
|
||||||
checkUSBC = new CheckBox();
|
|
||||||
checkNoOverdrive = new CheckBox();
|
|
||||||
checkTopmost = new CheckBox();
|
checkTopmost = new CheckBox();
|
||||||
|
checkNoOverdrive = new CheckBox();
|
||||||
|
checkUSBC = new CheckBox();
|
||||||
|
checkVariBright = new CheckBox();
|
||||||
|
checkGpuApps = new CheckBox();
|
||||||
|
checkFnLock = new CheckBox();
|
||||||
groupBindings.SuspendLayout();
|
groupBindings.SuspendLayout();
|
||||||
tableKeys.SuspendLayout();
|
tableKeys.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureHelp).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureHelp).BeginInit();
|
||||||
@@ -107,13 +108,15 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// groupBindings
|
// groupBindings
|
||||||
//
|
//
|
||||||
groupBindings.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
groupBindings.AutoSize = true;
|
||||||
groupBindings.Controls.Add(tableKeys);
|
groupBindings.Controls.Add(tableKeys);
|
||||||
groupBindings.Controls.Add(pictureHelp);
|
groupBindings.Controls.Add(pictureHelp);
|
||||||
groupBindings.Dock = DockStyle.Top;
|
groupBindings.Dock = DockStyle.Top;
|
||||||
groupBindings.Location = new Point(10, 10);
|
groupBindings.Location = new Point(9, 11);
|
||||||
|
groupBindings.Margin = new Padding(4, 2, 4, 2);
|
||||||
groupBindings.Name = "groupBindings";
|
groupBindings.Name = "groupBindings";
|
||||||
groupBindings.Size = new Size(954, 360);
|
groupBindings.Padding = new Padding(4, 2, 50, 2);
|
||||||
|
groupBindings.Size = new Size(966, 343);
|
||||||
groupBindings.TabIndex = 0;
|
groupBindings.TabIndex = 0;
|
||||||
groupBindings.TabStop = false;
|
groupBindings.TabStop = false;
|
||||||
groupBindings.Text = "Key Bindings";
|
groupBindings.Text = "Key Bindings";
|
||||||
@@ -142,23 +145,26 @@ namespace GHelper
|
|||||||
tableKeys.Controls.Add(textFNF4, 2, 4);
|
tableKeys.Controls.Add(textFNF4, 2, 4);
|
||||||
tableKeys.Controls.Add(comboFNC, 1, 5);
|
tableKeys.Controls.Add(comboFNC, 1, 5);
|
||||||
tableKeys.Controls.Add(textFNC, 2, 5);
|
tableKeys.Controls.Add(textFNC, 2, 5);
|
||||||
tableKeys.Location = new Point(13, 38);
|
tableKeys.Dock = DockStyle.Top;
|
||||||
|
tableKeys.Location = new Point(4, 34);
|
||||||
|
tableKeys.Margin = new Padding(4, 2, 4, 2);
|
||||||
tableKeys.Name = "tableKeys";
|
tableKeys.Name = "tableKeys";
|
||||||
tableKeys.Padding = new Padding(10);
|
tableKeys.Padding = new Padding(9, 11, 0, 11);
|
||||||
tableKeys.RowCount = 6;
|
tableKeys.RowCount = 6;
|
||||||
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 50F));
|
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 49F));
|
||||||
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 50F));
|
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 49F));
|
||||||
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 50F));
|
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 49F));
|
||||||
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 50F));
|
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 49F));
|
||||||
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 48F));
|
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 47F));
|
||||||
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 22F));
|
tableKeys.RowStyles.Add(new RowStyle(SizeType.Absolute, 21F));
|
||||||
tableKeys.Size = new Size(900, 308);
|
tableKeys.Size = new Size(912, 307);
|
||||||
tableKeys.TabIndex = 10;
|
tableKeys.TabIndex = 10;
|
||||||
//
|
//
|
||||||
// labelFNC
|
// labelFNC
|
||||||
//
|
//
|
||||||
labelFNC.AutoSize = true;
|
labelFNC.AutoSize = true;
|
||||||
labelFNC.Location = new Point(13, 258);
|
labelFNC.Location = new Point(13, 254);
|
||||||
|
labelFNC.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelFNC.Name = "labelFNC";
|
labelFNC.Name = "labelFNC";
|
||||||
labelFNC.Size = new Size(80, 32);
|
labelFNC.Size = new Size(80, 32);
|
||||||
labelFNC.TabIndex = 15;
|
labelFNC.TabIndex = 15;
|
||||||
@@ -166,35 +172,42 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// textM2
|
// textM2
|
||||||
//
|
//
|
||||||
textM2.Location = new Point(541, 63);
|
textM2.Dock = DockStyle.Top;
|
||||||
|
textM2.Location = new Point(554, 62);
|
||||||
|
textM2.Margin = new Padding(4, 2, 4, 2);
|
||||||
textM2.Name = "textM2";
|
textM2.Name = "textM2";
|
||||||
textM2.PlaceholderText = "action";
|
textM2.PlaceholderText = "action";
|
||||||
textM2.Size = new Size(346, 39);
|
textM2.Size = new Size(354, 39);
|
||||||
textM2.TabIndex = 14;
|
textM2.TabIndex = 14;
|
||||||
//
|
//
|
||||||
// textM1
|
// textM1
|
||||||
//
|
//
|
||||||
textM1.Location = new Point(541, 13);
|
textM1.Dock = DockStyle.Top;
|
||||||
|
textM1.Location = new Point(554, 13);
|
||||||
|
textM1.Margin = new Padding(4, 2, 4, 2);
|
||||||
textM1.Name = "textM1";
|
textM1.Name = "textM1";
|
||||||
textM1.PlaceholderText = "action";
|
textM1.PlaceholderText = "action";
|
||||||
textM1.Size = new Size(346, 39);
|
textM1.Size = new Size(354, 39);
|
||||||
textM1.TabIndex = 13;
|
textM1.TabIndex = 13;
|
||||||
//
|
//
|
||||||
// comboM1
|
// comboM1
|
||||||
//
|
//
|
||||||
comboM1.BorderColor = Color.White;
|
comboM1.BorderColor = Color.White;
|
||||||
comboM1.ButtonColor = Color.FromArgb(255, 255, 255);
|
comboM1.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
|
comboM1.Dock = DockStyle.Top;
|
||||||
comboM1.FormattingEnabled = true;
|
comboM1.FormattingEnabled = true;
|
||||||
comboM1.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
|
comboM1.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
|
||||||
comboM1.Location = new Point(189, 13);
|
comboM1.Location = new Point(193, 13);
|
||||||
|
comboM1.Margin = new Padding(4, 2, 4, 2);
|
||||||
comboM1.Name = "comboM1";
|
comboM1.Name = "comboM1";
|
||||||
comboM1.Size = new Size(312, 40);
|
comboM1.Size = new Size(353, 40);
|
||||||
comboM1.TabIndex = 11;
|
comboM1.TabIndex = 11;
|
||||||
//
|
//
|
||||||
// labelM1
|
// labelM1
|
||||||
//
|
//
|
||||||
labelM1.AutoSize = true;
|
labelM1.AutoSize = true;
|
||||||
labelM1.Location = new Point(13, 10);
|
labelM1.Location = new Point(13, 11);
|
||||||
|
labelM1.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelM1.Name = "labelM1";
|
labelM1.Name = "labelM1";
|
||||||
labelM1.Size = new Size(54, 32);
|
labelM1.Size = new Size(54, 32);
|
||||||
labelM1.TabIndex = 9;
|
labelM1.TabIndex = 9;
|
||||||
@@ -204,44 +217,53 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
comboM4.BorderColor = Color.White;
|
comboM4.BorderColor = Color.White;
|
||||||
comboM4.ButtonColor = Color.FromArgb(255, 255, 255);
|
comboM4.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
|
comboM4.Dock = DockStyle.Top;
|
||||||
comboM4.FormattingEnabled = true;
|
comboM4.FormattingEnabled = true;
|
||||||
comboM4.Items.AddRange(new object[] { Strings.PerformanceMode, Strings.OpenGHelper, Strings.Custom });
|
comboM4.Items.AddRange(new object[] { Strings.PerformanceMode, Strings.OpenGHelper, Strings.Custom });
|
||||||
comboM4.Location = new Point(189, 163);
|
comboM4.Location = new Point(193, 160);
|
||||||
|
comboM4.Margin = new Padding(4, 2, 4, 2);
|
||||||
comboM4.Name = "comboM4";
|
comboM4.Name = "comboM4";
|
||||||
comboM4.Size = new Size(312, 40);
|
comboM4.Size = new Size(353, 40);
|
||||||
comboM4.TabIndex = 3;
|
comboM4.TabIndex = 3;
|
||||||
//
|
//
|
||||||
// comboM3
|
// comboM3
|
||||||
//
|
//
|
||||||
comboM3.BorderColor = Color.White;
|
comboM3.BorderColor = Color.White;
|
||||||
comboM3.ButtonColor = Color.FromArgb(255, 255, 255);
|
comboM3.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
|
comboM3.Dock = DockStyle.Top;
|
||||||
comboM3.FormattingEnabled = true;
|
comboM3.FormattingEnabled = true;
|
||||||
comboM3.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
|
comboM3.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
|
||||||
comboM3.Location = new Point(189, 113);
|
comboM3.Location = new Point(193, 111);
|
||||||
|
comboM3.Margin = new Padding(4, 2, 4, 2);
|
||||||
comboM3.Name = "comboM3";
|
comboM3.Name = "comboM3";
|
||||||
comboM3.Size = new Size(312, 40);
|
comboM3.Size = new Size(353, 40);
|
||||||
comboM3.TabIndex = 1;
|
comboM3.TabIndex = 1;
|
||||||
//
|
//
|
||||||
// textM4
|
// textM4
|
||||||
//
|
//
|
||||||
textM4.Location = new Point(541, 163);
|
textM4.Dock = DockStyle.Top;
|
||||||
|
textM4.Location = new Point(554, 160);
|
||||||
|
textM4.Margin = new Padding(4, 2, 4, 2);
|
||||||
textM4.Name = "textM4";
|
textM4.Name = "textM4";
|
||||||
textM4.PlaceholderText = "action";
|
textM4.PlaceholderText = "action";
|
||||||
textM4.Size = new Size(346, 39);
|
textM4.Size = new Size(354, 39);
|
||||||
textM4.TabIndex = 5;
|
textM4.TabIndex = 5;
|
||||||
//
|
//
|
||||||
// textM3
|
// textM3
|
||||||
//
|
//
|
||||||
textM3.Location = new Point(541, 113);
|
textM3.Dock = DockStyle.Top;
|
||||||
|
textM3.Location = new Point(554, 111);
|
||||||
|
textM3.Margin = new Padding(4, 2, 4, 2);
|
||||||
textM3.Name = "textM3";
|
textM3.Name = "textM3";
|
||||||
textM3.PlaceholderText = "action";
|
textM3.PlaceholderText = "action";
|
||||||
textM3.Size = new Size(346, 39);
|
textM3.Size = new Size(354, 39);
|
||||||
textM3.TabIndex = 4;
|
textM3.TabIndex = 4;
|
||||||
//
|
//
|
||||||
// labelM4
|
// labelM4
|
||||||
//
|
//
|
||||||
labelM4.AutoSize = true;
|
labelM4.AutoSize = true;
|
||||||
labelM4.Location = new Point(13, 160);
|
labelM4.Location = new Point(13, 158);
|
||||||
|
labelM4.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelM4.Name = "labelM4";
|
labelM4.Name = "labelM4";
|
||||||
labelM4.Size = new Size(54, 32);
|
labelM4.Size = new Size(54, 32);
|
||||||
labelM4.TabIndex = 2;
|
labelM4.TabIndex = 2;
|
||||||
@@ -250,7 +272,8 @@ namespace GHelper
|
|||||||
// labelM3
|
// labelM3
|
||||||
//
|
//
|
||||||
labelM3.AutoSize = true;
|
labelM3.AutoSize = true;
|
||||||
labelM3.Location = new Point(13, 110);
|
labelM3.Location = new Point(13, 109);
|
||||||
|
labelM3.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelM3.Name = "labelM3";
|
labelM3.Name = "labelM3";
|
||||||
labelM3.Size = new Size(54, 32);
|
labelM3.Size = new Size(54, 32);
|
||||||
labelM3.TabIndex = 0;
|
labelM3.TabIndex = 0;
|
||||||
@@ -260,6 +283,7 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
labelM2.AutoSize = true;
|
labelM2.AutoSize = true;
|
||||||
labelM2.Location = new Point(13, 60);
|
labelM2.Location = new Point(13, 60);
|
||||||
|
labelM2.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelM2.Name = "labelM2";
|
labelM2.Name = "labelM2";
|
||||||
labelM2.Size = new Size(54, 32);
|
labelM2.Size = new Size(54, 32);
|
||||||
labelM2.TabIndex = 10;
|
labelM2.TabIndex = 10;
|
||||||
@@ -269,17 +293,20 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
comboM2.BorderColor = Color.White;
|
comboM2.BorderColor = Color.White;
|
||||||
comboM2.ButtonColor = Color.FromArgb(255, 255, 255);
|
comboM2.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
|
comboM2.Dock = DockStyle.Top;
|
||||||
comboM2.FormattingEnabled = true;
|
comboM2.FormattingEnabled = true;
|
||||||
comboM2.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
|
comboM2.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
|
||||||
comboM2.Location = new Point(189, 63);
|
comboM2.Location = new Point(193, 62);
|
||||||
|
comboM2.Margin = new Padding(4, 2, 4, 2);
|
||||||
comboM2.Name = "comboM2";
|
comboM2.Name = "comboM2";
|
||||||
comboM2.Size = new Size(312, 40);
|
comboM2.Size = new Size(353, 40);
|
||||||
comboM2.TabIndex = 12;
|
comboM2.TabIndex = 12;
|
||||||
//
|
//
|
||||||
// labelFNF4
|
// labelFNF4
|
||||||
//
|
//
|
||||||
labelFNF4.AutoSize = true;
|
labelFNF4.AutoSize = true;
|
||||||
labelFNF4.Location = new Point(13, 210);
|
labelFNF4.Location = new Point(13, 207);
|
||||||
|
labelFNF4.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelFNF4.Name = "labelFNF4";
|
labelFNF4.Name = "labelFNF4";
|
||||||
labelFNF4.Size = new Size(90, 32);
|
labelFNF4.Size = new Size(90, 32);
|
||||||
labelFNF4.TabIndex = 6;
|
labelFNF4.TabIndex = 6;
|
||||||
@@ -289,36 +316,44 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
comboFNF4.BorderColor = Color.White;
|
comboFNF4.BorderColor = Color.White;
|
||||||
comboFNF4.ButtonColor = Color.FromArgb(255, 255, 255);
|
comboFNF4.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
|
comboFNF4.Dock = DockStyle.Top;
|
||||||
comboFNF4.FormattingEnabled = true;
|
comboFNF4.FormattingEnabled = true;
|
||||||
comboFNF4.Location = new Point(189, 213);
|
comboFNF4.Location = new Point(193, 209);
|
||||||
|
comboFNF4.Margin = new Padding(4, 2, 4, 2);
|
||||||
comboFNF4.Name = "comboFNF4";
|
comboFNF4.Name = "comboFNF4";
|
||||||
comboFNF4.Size = new Size(312, 40);
|
comboFNF4.Size = new Size(353, 40);
|
||||||
comboFNF4.TabIndex = 7;
|
comboFNF4.TabIndex = 7;
|
||||||
//
|
//
|
||||||
// textFNF4
|
// textFNF4
|
||||||
//
|
//
|
||||||
textFNF4.Location = new Point(541, 213);
|
textFNF4.Dock = DockStyle.Top;
|
||||||
|
textFNF4.Location = new Point(554, 209);
|
||||||
|
textFNF4.Margin = new Padding(4, 2, 4, 2);
|
||||||
textFNF4.Name = "textFNF4";
|
textFNF4.Name = "textFNF4";
|
||||||
textFNF4.PlaceholderText = "action";
|
textFNF4.PlaceholderText = "action";
|
||||||
textFNF4.Size = new Size(346, 39);
|
textFNF4.Size = new Size(354, 39);
|
||||||
textFNF4.TabIndex = 8;
|
textFNF4.TabIndex = 8;
|
||||||
//
|
//
|
||||||
// comboFNC
|
// comboFNC
|
||||||
//
|
//
|
||||||
comboFNC.BorderColor = Color.White;
|
comboFNC.BorderColor = Color.White;
|
||||||
comboFNC.ButtonColor = Color.FromArgb(255, 255, 255);
|
comboFNC.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
|
comboFNC.Dock = DockStyle.Top;
|
||||||
comboFNC.FormattingEnabled = true;
|
comboFNC.FormattingEnabled = true;
|
||||||
comboFNC.Location = new Point(189, 261);
|
comboFNC.Location = new Point(193, 256);
|
||||||
|
comboFNC.Margin = new Padding(4, 2, 4, 2);
|
||||||
comboFNC.Name = "comboFNC";
|
comboFNC.Name = "comboFNC";
|
||||||
comboFNC.Size = new Size(312, 40);
|
comboFNC.Size = new Size(353, 40);
|
||||||
comboFNC.TabIndex = 16;
|
comboFNC.TabIndex = 16;
|
||||||
//
|
//
|
||||||
// textFNC
|
// textFNC
|
||||||
//
|
//
|
||||||
textFNC.Location = new Point(541, 261);
|
textFNC.Dock = DockStyle.Top;
|
||||||
|
textFNC.Location = new Point(554, 256);
|
||||||
|
textFNC.Margin = new Padding(4, 2, 4, 2);
|
||||||
textFNC.Name = "textFNC";
|
textFNC.Name = "textFNC";
|
||||||
textFNC.PlaceholderText = "action";
|
textFNC.PlaceholderText = "action";
|
||||||
textFNC.Size = new Size(346, 39);
|
textFNC.Size = new Size(354, 39);
|
||||||
textFNC.TabIndex = 17;
|
textFNC.TabIndex = 17;
|
||||||
//
|
//
|
||||||
// pictureHelp
|
// pictureHelp
|
||||||
@@ -326,7 +361,8 @@ namespace GHelper
|
|||||||
pictureHelp.BackgroundImage = Resources.icons8_help_64;
|
pictureHelp.BackgroundImage = Resources.icons8_help_64;
|
||||||
pictureHelp.BackgroundImageLayout = ImageLayout.Zoom;
|
pictureHelp.BackgroundImageLayout = ImageLayout.Zoom;
|
||||||
pictureHelp.Cursor = Cursors.Hand;
|
pictureHelp.Cursor = Cursors.Hand;
|
||||||
pictureHelp.Location = new Point(912, 51);
|
pictureHelp.Location = new Point(921, 51);
|
||||||
|
pictureHelp.Margin = new Padding(4, 2, 4, 2);
|
||||||
pictureHelp.Name = "pictureHelp";
|
pictureHelp.Name = "pictureHelp";
|
||||||
pictureHelp.Size = new Size(32, 32);
|
pictureHelp.Size = new Size(32, 32);
|
||||||
pictureHelp.TabIndex = 9;
|
pictureHelp.TabIndex = 9;
|
||||||
@@ -335,19 +371,24 @@ namespace GHelper
|
|||||||
// groupLight
|
// groupLight
|
||||||
//
|
//
|
||||||
groupLight.AutoSize = true;
|
groupLight.AutoSize = true;
|
||||||
|
groupLight.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
groupLight.Controls.Add(panelBacklightExtra);
|
groupLight.Controls.Add(panelBacklightExtra);
|
||||||
groupLight.Controls.Add(panelXMG);
|
groupLight.Controls.Add(panelXMG);
|
||||||
groupLight.Controls.Add(tableBacklight);
|
groupLight.Controls.Add(tableBacklight);
|
||||||
groupLight.Dock = DockStyle.Top;
|
groupLight.Dock = DockStyle.Top;
|
||||||
groupLight.Location = new Point(10, 370);
|
groupLight.Location = new Point(9, 354);
|
||||||
|
groupLight.Margin = new Padding(4, 2, 4, 2);
|
||||||
groupLight.Name = "groupLight";
|
groupLight.Name = "groupLight";
|
||||||
groupLight.Size = new Size(954, 563);
|
groupLight.Padding = new Padding(4, 2, 4, 11);
|
||||||
|
groupLight.Size = new Size(966, 554);
|
||||||
groupLight.TabIndex = 1;
|
groupLight.TabIndex = 1;
|
||||||
groupLight.TabStop = false;
|
groupLight.TabStop = false;
|
||||||
groupLight.Text = "Keyboard Backlight";
|
groupLight.Text = "Keyboard Backlight";
|
||||||
//
|
//
|
||||||
// panelBacklightExtra
|
// panelBacklightExtra
|
||||||
//
|
//
|
||||||
|
panelBacklightExtra.AutoSize = true;
|
||||||
|
panelBacklightExtra.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
panelBacklightExtra.Controls.Add(numericBacklightPluggedTime);
|
panelBacklightExtra.Controls.Add(numericBacklightPluggedTime);
|
||||||
panelBacklightExtra.Controls.Add(labelBacklightTimeoutPlugged);
|
panelBacklightExtra.Controls.Add(labelBacklightTimeoutPlugged);
|
||||||
panelBacklightExtra.Controls.Add(numericBacklightTime);
|
panelBacklightExtra.Controls.Add(numericBacklightTime);
|
||||||
@@ -357,46 +398,52 @@ namespace GHelper
|
|||||||
panelBacklightExtra.Controls.Add(labelSpeed);
|
panelBacklightExtra.Controls.Add(labelSpeed);
|
||||||
panelBacklightExtra.Controls.Add(comboKeyboardSpeed);
|
panelBacklightExtra.Controls.Add(comboKeyboardSpeed);
|
||||||
panelBacklightExtra.Dock = DockStyle.Top;
|
panelBacklightExtra.Dock = DockStyle.Top;
|
||||||
panelBacklightExtra.Location = new Point(3, 319);
|
panelBacklightExtra.Location = new Point(4, 315);
|
||||||
|
panelBacklightExtra.Margin = new Padding(4, 2, 4, 2);
|
||||||
panelBacklightExtra.Name = "panelBacklightExtra";
|
panelBacklightExtra.Name = "panelBacklightExtra";
|
||||||
panelBacklightExtra.Size = new Size(948, 241);
|
panelBacklightExtra.Size = new Size(958, 228);
|
||||||
panelBacklightExtra.TabIndex = 43;
|
panelBacklightExtra.TabIndex = 43;
|
||||||
//
|
//
|
||||||
// numericBacklightPluggedTime
|
// numericBacklightPluggedTime
|
||||||
//
|
//
|
||||||
numericBacklightPluggedTime.Location = new Point(655, 181);
|
numericBacklightPluggedTime.Location = new Point(702, 181);
|
||||||
|
numericBacklightPluggedTime.Margin = new Padding(4, 2, 4, 2);
|
||||||
numericBacklightPluggedTime.Maximum = new decimal(new int[] { 3600, 0, 0, 0 });
|
numericBacklightPluggedTime.Maximum = new decimal(new int[] { 3600, 0, 0, 0 });
|
||||||
numericBacklightPluggedTime.Name = "numericBacklightPluggedTime";
|
numericBacklightPluggedTime.Name = "numericBacklightPluggedTime";
|
||||||
numericBacklightPluggedTime.Size = new Size(240, 39);
|
numericBacklightPluggedTime.Size = new Size(193, 39);
|
||||||
numericBacklightPluggedTime.TabIndex = 49;
|
numericBacklightPluggedTime.TabIndex = 49;
|
||||||
//
|
//
|
||||||
// labelBacklightTimeoutPlugged
|
// labelBacklightTimeoutPlugged
|
||||||
//
|
//
|
||||||
labelBacklightTimeoutPlugged.Location = new Point(13, 183);
|
labelBacklightTimeoutPlugged.Location = new Point(13, 183);
|
||||||
|
labelBacklightTimeoutPlugged.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelBacklightTimeoutPlugged.Name = "labelBacklightTimeoutPlugged";
|
labelBacklightTimeoutPlugged.Name = "labelBacklightTimeoutPlugged";
|
||||||
labelBacklightTimeoutPlugged.Size = new Size(636, 45);
|
labelBacklightTimeoutPlugged.Size = new Size(683, 45);
|
||||||
labelBacklightTimeoutPlugged.TabIndex = 48;
|
labelBacklightTimeoutPlugged.TabIndex = 48;
|
||||||
labelBacklightTimeoutPlugged.Text = "Seconds to turn off backlight when plugged";
|
labelBacklightTimeoutPlugged.Text = "Seconds to turn off backlight when plugged";
|
||||||
//
|
//
|
||||||
// numericBacklightTime
|
// numericBacklightTime
|
||||||
//
|
//
|
||||||
numericBacklightTime.Location = new Point(655, 133);
|
numericBacklightTime.Location = new Point(702, 132);
|
||||||
|
numericBacklightTime.Margin = new Padding(4, 2, 4, 2);
|
||||||
numericBacklightTime.Maximum = new decimal(new int[] { 3600, 0, 0, 0 });
|
numericBacklightTime.Maximum = new decimal(new int[] { 3600, 0, 0, 0 });
|
||||||
numericBacklightTime.Name = "numericBacklightTime";
|
numericBacklightTime.Name = "numericBacklightTime";
|
||||||
numericBacklightTime.Size = new Size(240, 39);
|
numericBacklightTime.Size = new Size(193, 39);
|
||||||
numericBacklightTime.TabIndex = 47;
|
numericBacklightTime.TabIndex = 47;
|
||||||
//
|
//
|
||||||
// labelBacklightTimeout
|
// labelBacklightTimeout
|
||||||
//
|
//
|
||||||
labelBacklightTimeout.Location = new Point(13, 135);
|
labelBacklightTimeout.Location = new Point(13, 134);
|
||||||
|
labelBacklightTimeout.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelBacklightTimeout.Name = "labelBacklightTimeout";
|
labelBacklightTimeout.Name = "labelBacklightTimeout";
|
||||||
labelBacklightTimeout.Size = new Size(636, 45);
|
labelBacklightTimeout.Size = new Size(683, 45);
|
||||||
labelBacklightTimeout.TabIndex = 46;
|
labelBacklightTimeout.TabIndex = 46;
|
||||||
labelBacklightTimeout.Text = "Seconds to turn off backlight on battery";
|
labelBacklightTimeout.Text = "Seconds to turn off backlight on battery";
|
||||||
//
|
//
|
||||||
// labelBrightness
|
// labelBrightness
|
||||||
//
|
//
|
||||||
labelBrightness.Location = new Point(13, 75);
|
labelBrightness.Location = new Point(13, 75);
|
||||||
|
labelBrightness.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelBrightness.Name = "labelBrightness";
|
labelBrightness.Name = "labelBrightness";
|
||||||
labelBrightness.Size = new Size(336, 43);
|
labelBrightness.Size = new Size(336, 43);
|
||||||
labelBrightness.TabIndex = 41;
|
labelBrightness.TabIndex = 41;
|
||||||
@@ -406,17 +453,19 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
trackBrightness.LargeChange = 1;
|
trackBrightness.LargeChange = 1;
|
||||||
trackBrightness.Location = new Point(355, 60);
|
trackBrightness.Location = new Point(355, 60);
|
||||||
|
trackBrightness.Margin = new Padding(4, 2, 4, 2);
|
||||||
trackBrightness.Maximum = 3;
|
trackBrightness.Maximum = 3;
|
||||||
trackBrightness.Name = "trackBrightness";
|
trackBrightness.Name = "trackBrightness";
|
||||||
trackBrightness.Size = new Size(558, 90);
|
trackBrightness.Size = new Size(557, 90);
|
||||||
trackBrightness.TabIndex = 42;
|
trackBrightness.TabIndex = 42;
|
||||||
trackBrightness.TickStyle = TickStyle.TopLeft;
|
trackBrightness.TickStyle = TickStyle.TopLeft;
|
||||||
//
|
//
|
||||||
// labelSpeed
|
// labelSpeed
|
||||||
//
|
//
|
||||||
labelSpeed.Location = new Point(13, 15);
|
labelSpeed.Location = new Point(13, 15);
|
||||||
|
labelSpeed.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelSpeed.Name = "labelSpeed";
|
labelSpeed.Name = "labelSpeed";
|
||||||
labelSpeed.Size = new Size(538, 40);
|
labelSpeed.Size = new Size(539, 41);
|
||||||
labelSpeed.TabIndex = 44;
|
labelSpeed.TabIndex = 44;
|
||||||
labelSpeed.Text = "Animation Speed";
|
labelSpeed.Text = "Animation Speed";
|
||||||
//
|
//
|
||||||
@@ -430,9 +479,9 @@ namespace GHelper
|
|||||||
comboKeyboardSpeed.ItemHeight = 32;
|
comboKeyboardSpeed.ItemHeight = 32;
|
||||||
comboKeyboardSpeed.Items.AddRange(new object[] { "Slow", "Normal", "Fast" });
|
comboKeyboardSpeed.Items.AddRange(new object[] { "Slow", "Normal", "Fast" });
|
||||||
comboKeyboardSpeed.Location = new Point(607, 15);
|
comboKeyboardSpeed.Location = new Point(607, 15);
|
||||||
comboKeyboardSpeed.Margin = new Padding(4, 10, 4, 8);
|
comboKeyboardSpeed.Margin = new Padding(4, 11, 4, 9);
|
||||||
comboKeyboardSpeed.Name = "comboKeyboardSpeed";
|
comboKeyboardSpeed.Name = "comboKeyboardSpeed";
|
||||||
comboKeyboardSpeed.Size = new Size(291, 40);
|
comboKeyboardSpeed.Size = new Size(292, 40);
|
||||||
comboKeyboardSpeed.TabIndex = 43;
|
comboKeyboardSpeed.TabIndex = 43;
|
||||||
comboKeyboardSpeed.TabStop = false;
|
comboKeyboardSpeed.TabStop = false;
|
||||||
//
|
//
|
||||||
@@ -440,18 +489,20 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
panelXMG.Controls.Add(checkXMG);
|
panelXMG.Controls.Add(checkXMG);
|
||||||
panelXMG.Dock = DockStyle.Top;
|
panelXMG.Dock = DockStyle.Top;
|
||||||
panelXMG.Location = new Point(3, 261);
|
panelXMG.Location = new Point(4, 257);
|
||||||
|
panelXMG.Margin = new Padding(4, 2, 4, 2);
|
||||||
panelXMG.Name = "panelXMG";
|
panelXMG.Name = "panelXMG";
|
||||||
panelXMG.Size = new Size(948, 58);
|
panelXMG.Size = new Size(958, 58);
|
||||||
panelXMG.TabIndex = 42;
|
panelXMG.TabIndex = 42;
|
||||||
//
|
//
|
||||||
// checkXMG
|
// checkXMG
|
||||||
//
|
//
|
||||||
checkXMG.AutoSize = true;
|
checkXMG.AutoSize = true;
|
||||||
checkXMG.Location = new Point(3, 10);
|
checkXMG.Location = new Point(4, 11);
|
||||||
|
checkXMG.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkXMG.Name = "checkXMG";
|
checkXMG.Name = "checkXMG";
|
||||||
checkXMG.Padding = new Padding(15, 2, 5, 2);
|
checkXMG.Padding = new Padding(15, 2, 6, 2);
|
||||||
checkXMG.Size = new Size(178, 40);
|
checkXMG.Size = new Size(179, 40);
|
||||||
checkXMG.TabIndex = 2;
|
checkXMG.TabIndex = 2;
|
||||||
checkXMG.Text = "XG Mobile";
|
checkXMG.Text = "XG Mobile";
|
||||||
checkXMG.UseVisualStyleBackColor = true;
|
checkXMG.UseVisualStyleBackColor = true;
|
||||||
@@ -485,7 +536,7 @@ namespace GHelper
|
|||||||
tableBacklight.Controls.Add(checkSleepLid, 3, 3);
|
tableBacklight.Controls.Add(checkSleepLid, 3, 3);
|
||||||
tableBacklight.Controls.Add(checkShutdownLid, 3, 4);
|
tableBacklight.Controls.Add(checkShutdownLid, 3, 4);
|
||||||
tableBacklight.Dock = DockStyle.Top;
|
tableBacklight.Dock = DockStyle.Top;
|
||||||
tableBacklight.Location = new Point(3, 35);
|
tableBacklight.Location = new Point(4, 34);
|
||||||
tableBacklight.Margin = new Padding(0);
|
tableBacklight.Margin = new Padding(0);
|
||||||
tableBacklight.Name = "tableBacklight";
|
tableBacklight.Name = "tableBacklight";
|
||||||
tableBacklight.RowCount = 5;
|
tableBacklight.RowCount = 5;
|
||||||
@@ -494,27 +545,29 @@ namespace GHelper
|
|||||||
tableBacklight.RowStyles.Add(new RowStyle());
|
tableBacklight.RowStyles.Add(new RowStyle());
|
||||||
tableBacklight.RowStyles.Add(new RowStyle());
|
tableBacklight.RowStyles.Add(new RowStyle());
|
||||||
tableBacklight.RowStyles.Add(new RowStyle());
|
tableBacklight.RowStyles.Add(new RowStyle());
|
||||||
tableBacklight.Size = new Size(948, 226);
|
tableBacklight.Size = new Size(958, 223);
|
||||||
tableBacklight.TabIndex = 41;
|
tableBacklight.TabIndex = 41;
|
||||||
//
|
//
|
||||||
// labelBacklight
|
// labelBacklight
|
||||||
//
|
//
|
||||||
labelBacklight.Dock = DockStyle.Fill;
|
labelBacklight.Dock = DockStyle.Fill;
|
||||||
labelBacklight.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
labelBacklight.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
labelBacklight.Location = new Point(3, 0);
|
labelBacklight.Location = new Point(4, 0);
|
||||||
|
labelBacklight.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelBacklight.Name = "labelBacklight";
|
labelBacklight.Name = "labelBacklight";
|
||||||
labelBacklight.Padding = new Padding(10, 5, 5, 5);
|
labelBacklight.Padding = new Padding(9, 4, 6, 4);
|
||||||
labelBacklight.Size = new Size(231, 42);
|
labelBacklight.Size = new Size(231, 43);
|
||||||
labelBacklight.TabIndex = 6;
|
labelBacklight.TabIndex = 6;
|
||||||
labelBacklight.Text = "Keyboard";
|
labelBacklight.Text = "Keyboard";
|
||||||
//
|
//
|
||||||
// checkAwake
|
// checkAwake
|
||||||
//
|
//
|
||||||
checkAwake.Dock = DockStyle.Fill;
|
checkAwake.Dock = DockStyle.Fill;
|
||||||
checkAwake.Location = new Point(3, 45);
|
checkAwake.Location = new Point(4, 45);
|
||||||
|
checkAwake.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkAwake.Name = "checkAwake";
|
checkAwake.Name = "checkAwake";
|
||||||
checkAwake.Padding = new Padding(15, 2, 5, 2);
|
checkAwake.Padding = new Padding(15, 2, 6, 2);
|
||||||
checkAwake.Size = new Size(231, 40);
|
checkAwake.Size = new Size(231, 41);
|
||||||
checkAwake.TabIndex = 1;
|
checkAwake.TabIndex = 1;
|
||||||
checkAwake.Text = Strings.Awake;
|
checkAwake.Text = Strings.Awake;
|
||||||
checkAwake.UseVisualStyleBackColor = true;
|
checkAwake.UseVisualStyleBackColor = true;
|
||||||
@@ -522,10 +575,11 @@ namespace GHelper
|
|||||||
// checkBoot
|
// checkBoot
|
||||||
//
|
//
|
||||||
checkBoot.Dock = DockStyle.Fill;
|
checkBoot.Dock = DockStyle.Fill;
|
||||||
checkBoot.Location = new Point(3, 91);
|
checkBoot.Location = new Point(4, 90);
|
||||||
|
checkBoot.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkBoot.Name = "checkBoot";
|
checkBoot.Name = "checkBoot";
|
||||||
checkBoot.Padding = new Padding(15, 2, 5, 2);
|
checkBoot.Padding = new Padding(15, 2, 6, 2);
|
||||||
checkBoot.Size = new Size(231, 40);
|
checkBoot.Size = new Size(231, 41);
|
||||||
checkBoot.TabIndex = 2;
|
checkBoot.TabIndex = 2;
|
||||||
checkBoot.Text = Strings.Boot;
|
checkBoot.Text = Strings.Boot;
|
||||||
checkBoot.UseVisualStyleBackColor = true;
|
checkBoot.UseVisualStyleBackColor = true;
|
||||||
@@ -533,10 +587,11 @@ namespace GHelper
|
|||||||
// checkSleep
|
// checkSleep
|
||||||
//
|
//
|
||||||
checkSleep.Dock = DockStyle.Fill;
|
checkSleep.Dock = DockStyle.Fill;
|
||||||
checkSleep.Location = new Point(3, 137);
|
checkSleep.Location = new Point(4, 135);
|
||||||
|
checkSleep.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkSleep.Name = "checkSleep";
|
checkSleep.Name = "checkSleep";
|
||||||
checkSleep.Padding = new Padding(15, 2, 5, 2);
|
checkSleep.Padding = new Padding(15, 2, 6, 2);
|
||||||
checkSleep.Size = new Size(231, 40);
|
checkSleep.Size = new Size(231, 41);
|
||||||
checkSleep.TabIndex = 3;
|
checkSleep.TabIndex = 3;
|
||||||
checkSleep.Text = "Sleep";
|
checkSleep.Text = "Sleep";
|
||||||
checkSleep.UseVisualStyleBackColor = true;
|
checkSleep.UseVisualStyleBackColor = true;
|
||||||
@@ -544,10 +599,11 @@ namespace GHelper
|
|||||||
// checkShutdown
|
// checkShutdown
|
||||||
//
|
//
|
||||||
checkShutdown.Dock = DockStyle.Fill;
|
checkShutdown.Dock = DockStyle.Fill;
|
||||||
checkShutdown.Location = new Point(3, 183);
|
checkShutdown.Location = new Point(4, 180);
|
||||||
|
checkShutdown.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkShutdown.Name = "checkShutdown";
|
checkShutdown.Name = "checkShutdown";
|
||||||
checkShutdown.Padding = new Padding(15, 2, 5, 2);
|
checkShutdown.Padding = new Padding(15, 2, 6, 2);
|
||||||
checkShutdown.Size = new Size(231, 40);
|
checkShutdown.Size = new Size(231, 41);
|
||||||
checkShutdown.TabIndex = 4;
|
checkShutdown.TabIndex = 4;
|
||||||
checkShutdown.Text = Strings.Shutdown;
|
checkShutdown.Text = Strings.Shutdown;
|
||||||
checkShutdown.UseVisualStyleBackColor = true;
|
checkShutdown.UseVisualStyleBackColor = true;
|
||||||
@@ -556,20 +612,22 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
labelBacklightLogo.Dock = DockStyle.Fill;
|
labelBacklightLogo.Dock = DockStyle.Fill;
|
||||||
labelBacklightLogo.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
labelBacklightLogo.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
labelBacklightLogo.Location = new Point(240, 0);
|
labelBacklightLogo.Location = new Point(243, 0);
|
||||||
|
labelBacklightLogo.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelBacklightLogo.Name = "labelBacklightLogo";
|
labelBacklightLogo.Name = "labelBacklightLogo";
|
||||||
labelBacklightLogo.Padding = new Padding(10, 5, 5, 5);
|
labelBacklightLogo.Padding = new Padding(9, 4, 6, 4);
|
||||||
labelBacklightLogo.Size = new Size(231, 42);
|
labelBacklightLogo.Size = new Size(231, 43);
|
||||||
labelBacklightLogo.TabIndex = 21;
|
labelBacklightLogo.TabIndex = 21;
|
||||||
labelBacklightLogo.Text = "Logo";
|
labelBacklightLogo.Text = "Logo";
|
||||||
//
|
//
|
||||||
// checkAwakeLogo
|
// checkAwakeLogo
|
||||||
//
|
//
|
||||||
checkAwakeLogo.Dock = DockStyle.Fill;
|
checkAwakeLogo.Dock = DockStyle.Fill;
|
||||||
checkAwakeLogo.Location = new Point(240, 45);
|
checkAwakeLogo.Location = new Point(243, 45);
|
||||||
|
checkAwakeLogo.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkAwakeLogo.Name = "checkAwakeLogo";
|
checkAwakeLogo.Name = "checkAwakeLogo";
|
||||||
checkAwakeLogo.Padding = new Padding(15, 2, 5, 2);
|
checkAwakeLogo.Padding = new Padding(15, 2, 6, 2);
|
||||||
checkAwakeLogo.Size = new Size(231, 40);
|
checkAwakeLogo.Size = new Size(231, 41);
|
||||||
checkAwakeLogo.TabIndex = 17;
|
checkAwakeLogo.TabIndex = 17;
|
||||||
checkAwakeLogo.Text = Strings.Awake;
|
checkAwakeLogo.Text = Strings.Awake;
|
||||||
checkAwakeLogo.UseVisualStyleBackColor = true;
|
checkAwakeLogo.UseVisualStyleBackColor = true;
|
||||||
@@ -577,10 +635,11 @@ namespace GHelper
|
|||||||
// checkBootLogo
|
// checkBootLogo
|
||||||
//
|
//
|
||||||
checkBootLogo.Dock = DockStyle.Fill;
|
checkBootLogo.Dock = DockStyle.Fill;
|
||||||
checkBootLogo.Location = new Point(240, 91);
|
checkBootLogo.Location = new Point(243, 90);
|
||||||
|
checkBootLogo.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkBootLogo.Name = "checkBootLogo";
|
checkBootLogo.Name = "checkBootLogo";
|
||||||
checkBootLogo.Padding = new Padding(15, 2, 5, 2);
|
checkBootLogo.Padding = new Padding(15, 2, 6, 2);
|
||||||
checkBootLogo.Size = new Size(231, 40);
|
checkBootLogo.Size = new Size(231, 41);
|
||||||
checkBootLogo.TabIndex = 18;
|
checkBootLogo.TabIndex = 18;
|
||||||
checkBootLogo.Text = Strings.Boot;
|
checkBootLogo.Text = Strings.Boot;
|
||||||
checkBootLogo.UseVisualStyleBackColor = true;
|
checkBootLogo.UseVisualStyleBackColor = true;
|
||||||
@@ -588,10 +647,11 @@ namespace GHelper
|
|||||||
// checkSleepLogo
|
// checkSleepLogo
|
||||||
//
|
//
|
||||||
checkSleepLogo.Dock = DockStyle.Fill;
|
checkSleepLogo.Dock = DockStyle.Fill;
|
||||||
checkSleepLogo.Location = new Point(240, 137);
|
checkSleepLogo.Location = new Point(243, 135);
|
||||||
|
checkSleepLogo.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkSleepLogo.Name = "checkSleepLogo";
|
checkSleepLogo.Name = "checkSleepLogo";
|
||||||
checkSleepLogo.Padding = new Padding(15, 2, 5, 2);
|
checkSleepLogo.Padding = new Padding(15, 2, 6, 2);
|
||||||
checkSleepLogo.Size = new Size(231, 40);
|
checkSleepLogo.Size = new Size(231, 41);
|
||||||
checkSleepLogo.TabIndex = 19;
|
checkSleepLogo.TabIndex = 19;
|
||||||
checkSleepLogo.Text = Strings.Sleep;
|
checkSleepLogo.Text = Strings.Sleep;
|
||||||
checkSleepLogo.UseVisualStyleBackColor = true;
|
checkSleepLogo.UseVisualStyleBackColor = true;
|
||||||
@@ -599,10 +659,11 @@ namespace GHelper
|
|||||||
// checkShutdownLogo
|
// checkShutdownLogo
|
||||||
//
|
//
|
||||||
checkShutdownLogo.Dock = DockStyle.Fill;
|
checkShutdownLogo.Dock = DockStyle.Fill;
|
||||||
checkShutdownLogo.Location = new Point(240, 183);
|
checkShutdownLogo.Location = new Point(243, 180);
|
||||||
|
checkShutdownLogo.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkShutdownLogo.Name = "checkShutdownLogo";
|
checkShutdownLogo.Name = "checkShutdownLogo";
|
||||||
checkShutdownLogo.Padding = new Padding(15, 2, 5, 2);
|
checkShutdownLogo.Padding = new Padding(15, 2, 6, 2);
|
||||||
checkShutdownLogo.Size = new Size(231, 40);
|
checkShutdownLogo.Size = new Size(231, 41);
|
||||||
checkShutdownLogo.TabIndex = 20;
|
checkShutdownLogo.TabIndex = 20;
|
||||||
checkShutdownLogo.Text = Strings.Shutdown;
|
checkShutdownLogo.Text = Strings.Shutdown;
|
||||||
checkShutdownLogo.UseVisualStyleBackColor = true;
|
checkShutdownLogo.UseVisualStyleBackColor = true;
|
||||||
@@ -611,20 +672,22 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
labelBacklightBar.Dock = DockStyle.Fill;
|
labelBacklightBar.Dock = DockStyle.Fill;
|
||||||
labelBacklightBar.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
labelBacklightBar.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
labelBacklightBar.Location = new Point(477, 0);
|
labelBacklightBar.Location = new Point(482, 0);
|
||||||
|
labelBacklightBar.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelBacklightBar.Name = "labelBacklightBar";
|
labelBacklightBar.Name = "labelBacklightBar";
|
||||||
labelBacklightBar.Padding = new Padding(10, 5, 5, 5);
|
labelBacklightBar.Padding = new Padding(9, 4, 6, 4);
|
||||||
labelBacklightBar.Size = new Size(231, 42);
|
labelBacklightBar.Size = new Size(231, 43);
|
||||||
labelBacklightBar.TabIndex = 11;
|
labelBacklightBar.TabIndex = 11;
|
||||||
labelBacklightBar.Text = "Lightbar";
|
labelBacklightBar.Text = "Lightbar";
|
||||||
//
|
//
|
||||||
// checkAwakeBar
|
// checkAwakeBar
|
||||||
//
|
//
|
||||||
checkAwakeBar.Dock = DockStyle.Fill;
|
checkAwakeBar.Dock = DockStyle.Fill;
|
||||||
checkAwakeBar.Location = new Point(477, 45);
|
checkAwakeBar.Location = new Point(482, 45);
|
||||||
|
checkAwakeBar.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkAwakeBar.Name = "checkAwakeBar";
|
checkAwakeBar.Name = "checkAwakeBar";
|
||||||
checkAwakeBar.Padding = new Padding(15, 2, 5, 2);
|
checkAwakeBar.Padding = new Padding(15, 2, 6, 2);
|
||||||
checkAwakeBar.Size = new Size(231, 40);
|
checkAwakeBar.Size = new Size(231, 41);
|
||||||
checkAwakeBar.TabIndex = 7;
|
checkAwakeBar.TabIndex = 7;
|
||||||
checkAwakeBar.Text = Strings.Awake;
|
checkAwakeBar.Text = Strings.Awake;
|
||||||
checkAwakeBar.UseVisualStyleBackColor = true;
|
checkAwakeBar.UseVisualStyleBackColor = true;
|
||||||
@@ -632,10 +695,11 @@ namespace GHelper
|
|||||||
// checkBootBar
|
// checkBootBar
|
||||||
//
|
//
|
||||||
checkBootBar.Dock = DockStyle.Fill;
|
checkBootBar.Dock = DockStyle.Fill;
|
||||||
checkBootBar.Location = new Point(477, 91);
|
checkBootBar.Location = new Point(482, 90);
|
||||||
|
checkBootBar.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkBootBar.Name = "checkBootBar";
|
checkBootBar.Name = "checkBootBar";
|
||||||
checkBootBar.Padding = new Padding(15, 2, 5, 2);
|
checkBootBar.Padding = new Padding(15, 2, 6, 2);
|
||||||
checkBootBar.Size = new Size(231, 40);
|
checkBootBar.Size = new Size(231, 41);
|
||||||
checkBootBar.TabIndex = 8;
|
checkBootBar.TabIndex = 8;
|
||||||
checkBootBar.Text = Strings.Boot;
|
checkBootBar.Text = Strings.Boot;
|
||||||
checkBootBar.UseVisualStyleBackColor = true;
|
checkBootBar.UseVisualStyleBackColor = true;
|
||||||
@@ -643,10 +707,11 @@ namespace GHelper
|
|||||||
// checkSleepBar
|
// checkSleepBar
|
||||||
//
|
//
|
||||||
checkSleepBar.Dock = DockStyle.Fill;
|
checkSleepBar.Dock = DockStyle.Fill;
|
||||||
checkSleepBar.Location = new Point(477, 137);
|
checkSleepBar.Location = new Point(482, 135);
|
||||||
|
checkSleepBar.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkSleepBar.Name = "checkSleepBar";
|
checkSleepBar.Name = "checkSleepBar";
|
||||||
checkSleepBar.Padding = new Padding(15, 2, 5, 2);
|
checkSleepBar.Padding = new Padding(15, 2, 6, 2);
|
||||||
checkSleepBar.Size = new Size(231, 40);
|
checkSleepBar.Size = new Size(231, 41);
|
||||||
checkSleepBar.TabIndex = 9;
|
checkSleepBar.TabIndex = 9;
|
||||||
checkSleepBar.Text = Strings.Sleep;
|
checkSleepBar.Text = Strings.Sleep;
|
||||||
checkSleepBar.UseVisualStyleBackColor = true;
|
checkSleepBar.UseVisualStyleBackColor = true;
|
||||||
@@ -654,10 +719,11 @@ namespace GHelper
|
|||||||
// checkShutdownBar
|
// checkShutdownBar
|
||||||
//
|
//
|
||||||
checkShutdownBar.Dock = DockStyle.Fill;
|
checkShutdownBar.Dock = DockStyle.Fill;
|
||||||
checkShutdownBar.Location = new Point(477, 183);
|
checkShutdownBar.Location = new Point(482, 180);
|
||||||
|
checkShutdownBar.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkShutdownBar.Name = "checkShutdownBar";
|
checkShutdownBar.Name = "checkShutdownBar";
|
||||||
checkShutdownBar.Padding = new Padding(15, 2, 5, 2);
|
checkShutdownBar.Padding = new Padding(15, 2, 6, 2);
|
||||||
checkShutdownBar.Size = new Size(231, 40);
|
checkShutdownBar.Size = new Size(231, 41);
|
||||||
checkShutdownBar.TabIndex = 10;
|
checkShutdownBar.TabIndex = 10;
|
||||||
checkShutdownBar.Text = Strings.Shutdown;
|
checkShutdownBar.Text = Strings.Shutdown;
|
||||||
checkShutdownBar.UseVisualStyleBackColor = true;
|
checkShutdownBar.UseVisualStyleBackColor = true;
|
||||||
@@ -666,20 +732,22 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
labelBacklightLid.Dock = DockStyle.Fill;
|
labelBacklightLid.Dock = DockStyle.Fill;
|
||||||
labelBacklightLid.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
labelBacklightLid.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
labelBacklightLid.Location = new Point(714, 0);
|
labelBacklightLid.Location = new Point(721, 0);
|
||||||
|
labelBacklightLid.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelBacklightLid.Name = "labelBacklightLid";
|
labelBacklightLid.Name = "labelBacklightLid";
|
||||||
labelBacklightLid.Padding = new Padding(10, 5, 5, 5);
|
labelBacklightLid.Padding = new Padding(9, 4, 6, 4);
|
||||||
labelBacklightLid.Size = new Size(231, 42);
|
labelBacklightLid.Size = new Size(233, 43);
|
||||||
labelBacklightLid.TabIndex = 16;
|
labelBacklightLid.TabIndex = 16;
|
||||||
labelBacklightLid.Text = "Lid";
|
labelBacklightLid.Text = "Lid";
|
||||||
//
|
//
|
||||||
// checkAwakeLid
|
// checkAwakeLid
|
||||||
//
|
//
|
||||||
checkAwakeLid.Dock = DockStyle.Fill;
|
checkAwakeLid.Dock = DockStyle.Fill;
|
||||||
checkAwakeLid.Location = new Point(714, 45);
|
checkAwakeLid.Location = new Point(721, 45);
|
||||||
|
checkAwakeLid.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkAwakeLid.Name = "checkAwakeLid";
|
checkAwakeLid.Name = "checkAwakeLid";
|
||||||
checkAwakeLid.Padding = new Padding(15, 2, 5, 2);
|
checkAwakeLid.Padding = new Padding(15, 2, 6, 2);
|
||||||
checkAwakeLid.Size = new Size(231, 40);
|
checkAwakeLid.Size = new Size(233, 41);
|
||||||
checkAwakeLid.TabIndex = 12;
|
checkAwakeLid.TabIndex = 12;
|
||||||
checkAwakeLid.Text = Strings.Awake;
|
checkAwakeLid.Text = Strings.Awake;
|
||||||
checkAwakeLid.UseVisualStyleBackColor = true;
|
checkAwakeLid.UseVisualStyleBackColor = true;
|
||||||
@@ -687,10 +755,11 @@ namespace GHelper
|
|||||||
// checkBootLid
|
// checkBootLid
|
||||||
//
|
//
|
||||||
checkBootLid.Dock = DockStyle.Fill;
|
checkBootLid.Dock = DockStyle.Fill;
|
||||||
checkBootLid.Location = new Point(714, 91);
|
checkBootLid.Location = new Point(721, 90);
|
||||||
|
checkBootLid.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkBootLid.Name = "checkBootLid";
|
checkBootLid.Name = "checkBootLid";
|
||||||
checkBootLid.Padding = new Padding(15, 2, 5, 2);
|
checkBootLid.Padding = new Padding(15, 2, 6, 2);
|
||||||
checkBootLid.Size = new Size(231, 40);
|
checkBootLid.Size = new Size(233, 41);
|
||||||
checkBootLid.TabIndex = 13;
|
checkBootLid.TabIndex = 13;
|
||||||
checkBootLid.Text = Strings.Boot;
|
checkBootLid.Text = Strings.Boot;
|
||||||
checkBootLid.UseVisualStyleBackColor = true;
|
checkBootLid.UseVisualStyleBackColor = true;
|
||||||
@@ -698,10 +767,11 @@ namespace GHelper
|
|||||||
// checkSleepLid
|
// checkSleepLid
|
||||||
//
|
//
|
||||||
checkSleepLid.Dock = DockStyle.Fill;
|
checkSleepLid.Dock = DockStyle.Fill;
|
||||||
checkSleepLid.Location = new Point(714, 137);
|
checkSleepLid.Location = new Point(721, 135);
|
||||||
|
checkSleepLid.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkSleepLid.Name = "checkSleepLid";
|
checkSleepLid.Name = "checkSleepLid";
|
||||||
checkSleepLid.Padding = new Padding(15, 2, 5, 2);
|
checkSleepLid.Padding = new Padding(15, 2, 6, 2);
|
||||||
checkSleepLid.Size = new Size(231, 40);
|
checkSleepLid.Size = new Size(233, 41);
|
||||||
checkSleepLid.TabIndex = 14;
|
checkSleepLid.TabIndex = 14;
|
||||||
checkSleepLid.Text = Strings.Sleep;
|
checkSleepLid.Text = Strings.Sleep;
|
||||||
checkSleepLid.UseVisualStyleBackColor = true;
|
checkSleepLid.UseVisualStyleBackColor = true;
|
||||||
@@ -709,90 +779,120 @@ namespace GHelper
|
|||||||
// checkShutdownLid
|
// checkShutdownLid
|
||||||
//
|
//
|
||||||
checkShutdownLid.Dock = DockStyle.Fill;
|
checkShutdownLid.Dock = DockStyle.Fill;
|
||||||
checkShutdownLid.Location = new Point(714, 183);
|
checkShutdownLid.Location = new Point(721, 180);
|
||||||
|
checkShutdownLid.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkShutdownLid.Name = "checkShutdownLid";
|
checkShutdownLid.Name = "checkShutdownLid";
|
||||||
checkShutdownLid.Padding = new Padding(15, 2, 5, 2);
|
checkShutdownLid.Padding = new Padding(15, 2, 6, 2);
|
||||||
checkShutdownLid.Size = new Size(231, 40);
|
checkShutdownLid.Size = new Size(233, 41);
|
||||||
checkShutdownLid.TabIndex = 15;
|
checkShutdownLid.TabIndex = 15;
|
||||||
checkShutdownLid.Text = Strings.Shutdown;
|
checkShutdownLid.Text = Strings.Shutdown;
|
||||||
checkShutdownLid.UseVisualStyleBackColor = true;
|
checkShutdownLid.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// groupOther
|
// groupOther
|
||||||
//
|
//
|
||||||
groupOther.Controls.Add(checkFnLock);
|
groupOther.AutoSize = true;
|
||||||
groupOther.Controls.Add(checkGpuApps);
|
groupOther.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
groupOther.Controls.Add(checkAutoApplyWindowsPowerMode);
|
groupOther.Controls.Add(checkAutoApplyWindowsPowerMode);
|
||||||
groupOther.Controls.Add(checkUSBC);
|
|
||||||
groupOther.Controls.Add(checkNoOverdrive);
|
|
||||||
groupOther.Controls.Add(checkTopmost);
|
groupOther.Controls.Add(checkTopmost);
|
||||||
|
groupOther.Controls.Add(checkNoOverdrive);
|
||||||
|
groupOther.Controls.Add(checkUSBC);
|
||||||
|
groupOther.Controls.Add(checkVariBright);
|
||||||
|
groupOther.Controls.Add(checkGpuApps);
|
||||||
|
groupOther.Controls.Add(checkFnLock);
|
||||||
groupOther.Dock = DockStyle.Top;
|
groupOther.Dock = DockStyle.Top;
|
||||||
groupOther.Location = new Point(10, 933);
|
groupOther.Location = new Point(9, 908);
|
||||||
|
groupOther.Margin = new Padding(4, 2, 4, 2);
|
||||||
groupOther.Name = "groupOther";
|
groupOther.Name = "groupOther";
|
||||||
groupOther.Size = new Size(954, 300);
|
groupOther.Padding = new Padding(20, 2, 4, 10);
|
||||||
|
groupOther.Size = new Size(966, 296);
|
||||||
groupOther.TabIndex = 2;
|
groupOther.TabIndex = 2;
|
||||||
groupOther.TabStop = false;
|
groupOther.TabStop = false;
|
||||||
groupOther.Text = "Other";
|
groupOther.Text = "Other";
|
||||||
//
|
//
|
||||||
// checkFnLock
|
|
||||||
//
|
|
||||||
checkFnLock.AutoSize = true;
|
|
||||||
checkFnLock.Location = new Point(25, 44);
|
|
||||||
checkFnLock.MaximumSize = new Size(780, 0);
|
|
||||||
checkFnLock.Name = "checkFnLock";
|
|
||||||
checkFnLock.Size = new Size(397, 36);
|
|
||||||
checkFnLock.TabIndex = 49;
|
|
||||||
checkFnLock.Text = "Process Fn+F hotkeys without Fn";
|
|
||||||
checkFnLock.UseVisualStyleBackColor = true;
|
|
||||||
//
|
|
||||||
// checkGpuApps
|
|
||||||
//
|
|
||||||
checkGpuApps.AutoSize = true;
|
|
||||||
checkGpuApps.Location = new Point(25, 83);
|
|
||||||
checkGpuApps.Name = "checkGpuApps";
|
|
||||||
checkGpuApps.Size = new Size(544, 36);
|
|
||||||
checkGpuApps.TabIndex = 48;
|
|
||||||
checkGpuApps.Text = "Stop all apps using GPU when switching to Eco";
|
|
||||||
checkGpuApps.UseVisualStyleBackColor = true;
|
|
||||||
//
|
|
||||||
// checkAutoApplyWindowsPowerMode
|
// checkAutoApplyWindowsPowerMode
|
||||||
//
|
//
|
||||||
checkAutoApplyWindowsPowerMode.AutoSize = true;
|
checkAutoApplyWindowsPowerMode.AutoSize = true;
|
||||||
checkAutoApplyWindowsPowerMode.Location = new Point(25, 251);
|
checkAutoApplyWindowsPowerMode.Dock = DockStyle.Top;
|
||||||
|
checkAutoApplyWindowsPowerMode.Location = new Point(20, 250);
|
||||||
|
checkAutoApplyWindowsPowerMode.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkAutoApplyWindowsPowerMode.Name = "checkAutoApplyWindowsPowerMode";
|
checkAutoApplyWindowsPowerMode.Name = "checkAutoApplyWindowsPowerMode";
|
||||||
checkAutoApplyWindowsPowerMode.Size = new Size(416, 36);
|
checkAutoApplyWindowsPowerMode.Size = new Size(942, 36);
|
||||||
checkAutoApplyWindowsPowerMode.TabIndex = 47;
|
checkAutoApplyWindowsPowerMode.TabIndex = 47;
|
||||||
checkAutoApplyWindowsPowerMode.Text = "Auto Adjust Windows Power Mode";
|
checkAutoApplyWindowsPowerMode.Text = "Auto Adjust Windows Power Mode";
|
||||||
checkAutoApplyWindowsPowerMode.UseVisualStyleBackColor = true;
|
checkAutoApplyWindowsPowerMode.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// checkUSBC
|
// checkTopmost
|
||||||
//
|
//
|
||||||
checkUSBC.AutoSize = true;
|
checkTopmost.AutoSize = true;
|
||||||
checkUSBC.Location = new Point(25, 125);
|
checkTopmost.Dock = DockStyle.Top;
|
||||||
checkUSBC.Name = "checkUSBC";
|
checkTopmost.Location = new Point(20, 214);
|
||||||
checkUSBC.Size = new Size(659, 36);
|
checkTopmost.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkUSBC.TabIndex = 4;
|
checkTopmost.Name = "checkTopmost";
|
||||||
checkUSBC.Text = "Keep GPU disabled on USB-C charger in Optimized mode";
|
checkTopmost.Size = new Size(942, 36);
|
||||||
checkUSBC.UseVisualStyleBackColor = true;
|
checkTopmost.TabIndex = 1;
|
||||||
|
checkTopmost.Text = Strings.WindowTop;
|
||||||
|
checkTopmost.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// checkNoOverdrive
|
// checkNoOverdrive
|
||||||
//
|
//
|
||||||
checkNoOverdrive.AutoSize = true;
|
checkNoOverdrive.AutoSize = true;
|
||||||
checkNoOverdrive.Location = new Point(25, 167);
|
checkNoOverdrive.Dock = DockStyle.Top;
|
||||||
|
checkNoOverdrive.Location = new Point(20, 178);
|
||||||
|
checkNoOverdrive.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkNoOverdrive.Name = "checkNoOverdrive";
|
checkNoOverdrive.Name = "checkNoOverdrive";
|
||||||
checkNoOverdrive.Size = new Size(307, 36);
|
checkNoOverdrive.Size = new Size(942, 36);
|
||||||
checkNoOverdrive.TabIndex = 3;
|
checkNoOverdrive.TabIndex = 3;
|
||||||
checkNoOverdrive.Text = Strings.DisableOverdrive;
|
checkNoOverdrive.Text = Strings.DisableOverdrive;
|
||||||
checkNoOverdrive.UseVisualStyleBackColor = true;
|
checkNoOverdrive.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// checkTopmost
|
// checkUSBC
|
||||||
//
|
//
|
||||||
checkTopmost.AutoSize = true;
|
checkUSBC.AutoSize = true;
|
||||||
checkTopmost.Location = new Point(25, 209);
|
checkUSBC.Dock = DockStyle.Top;
|
||||||
checkTopmost.Name = "checkTopmost";
|
checkUSBC.Location = new Point(20, 142);
|
||||||
checkTopmost.Size = new Size(390, 36);
|
checkUSBC.Margin = new Padding(4, 2, 4, 2);
|
||||||
checkTopmost.TabIndex = 1;
|
checkUSBC.Name = "checkUSBC";
|
||||||
checkTopmost.Text = Strings.WindowTop;
|
checkUSBC.Size = new Size(942, 36);
|
||||||
checkTopmost.UseVisualStyleBackColor = true;
|
checkUSBC.TabIndex = 4;
|
||||||
|
checkUSBC.Text = "Keep GPU disabled on USB-C charger in Optimized mode";
|
||||||
|
checkUSBC.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// checkVariBright
|
||||||
|
//
|
||||||
|
checkVariBright.AutoSize = true;
|
||||||
|
checkVariBright.Dock = DockStyle.Top;
|
||||||
|
checkVariBright.Location = new Point(20, 106);
|
||||||
|
checkVariBright.Margin = new Padding(4, 2, 4, 2);
|
||||||
|
checkVariBright.Name = "checkVariBright";
|
||||||
|
checkVariBright.Size = new Size(942, 36);
|
||||||
|
checkVariBright.TabIndex = 50;
|
||||||
|
checkVariBright.Text = "AMD Display VariBright";
|
||||||
|
checkVariBright.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// checkGpuApps
|
||||||
|
//
|
||||||
|
checkGpuApps.AutoSize = true;
|
||||||
|
checkGpuApps.Dock = DockStyle.Top;
|
||||||
|
checkGpuApps.Location = new Point(20, 70);
|
||||||
|
checkGpuApps.Margin = new Padding(4, 2, 4, 2);
|
||||||
|
checkGpuApps.Name = "checkGpuApps";
|
||||||
|
checkGpuApps.Size = new Size(942, 36);
|
||||||
|
checkGpuApps.TabIndex = 48;
|
||||||
|
checkGpuApps.Text = "Stop all apps using GPU when switching to Eco";
|
||||||
|
checkGpuApps.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// checkFnLock
|
||||||
|
//
|
||||||
|
checkFnLock.AutoSize = true;
|
||||||
|
checkFnLock.Dock = DockStyle.Top;
|
||||||
|
checkFnLock.Location = new Point(20, 34);
|
||||||
|
checkFnLock.Margin = new Padding(4, 2, 4, 2);
|
||||||
|
checkFnLock.MaximumSize = new Size(780, 0);
|
||||||
|
checkFnLock.Name = "checkFnLock";
|
||||||
|
checkFnLock.Size = new Size(780, 36);
|
||||||
|
checkFnLock.TabIndex = 49;
|
||||||
|
checkFnLock.Text = "Process Fn+F hotkeys without Fn";
|
||||||
|
checkFnLock.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// Extra
|
// Extra
|
||||||
//
|
//
|
||||||
@@ -800,17 +900,18 @@ namespace GHelper
|
|||||||
AutoScaleMode = AutoScaleMode.Font;
|
AutoScaleMode = AutoScaleMode.Font;
|
||||||
AutoSize = true;
|
AutoSize = true;
|
||||||
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
ClientSize = new Size(974, 1247);
|
ClientSize = new Size(984, 1244);
|
||||||
Controls.Add(groupOther);
|
Controls.Add(groupOther);
|
||||||
Controls.Add(groupLight);
|
Controls.Add(groupLight);
|
||||||
Controls.Add(groupBindings);
|
Controls.Add(groupBindings);
|
||||||
FormBorderStyle = FormBorderStyle.FixedSingle;
|
FormBorderStyle = FormBorderStyle.FixedSingle;
|
||||||
|
Margin = new Padding(4, 2, 4, 2);
|
||||||
MaximizeBox = false;
|
MaximizeBox = false;
|
||||||
MdiChildrenMinimizedAnchorBottom = false;
|
MdiChildrenMinimizedAnchorBottom = false;
|
||||||
MinimizeBox = false;
|
MinimizeBox = false;
|
||||||
MinimumSize = new Size(1000, 0);
|
MinimumSize = new Size(1010, 71);
|
||||||
Name = "Extra";
|
Name = "Extra";
|
||||||
Padding = new Padding(10);
|
Padding = new Padding(9, 11, 9, 11);
|
||||||
ShowIcon = false;
|
ShowIcon = false;
|
||||||
ShowInTaskbar = false;
|
ShowInTaskbar = false;
|
||||||
Text = "Extra Settings";
|
Text = "Extra Settings";
|
||||||
@@ -897,5 +998,6 @@ namespace GHelper
|
|||||||
private Label labelFNC;
|
private Label labelFNC;
|
||||||
private RComboBox comboFNC;
|
private RComboBox comboFNC;
|
||||||
private TextBox textFNC;
|
private TextBox textFNC;
|
||||||
|
private CheckBox checkVariBright;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
39
app/Extra.cs
39
app/Extra.cs
@@ -1,4 +1,5 @@
|
|||||||
using CustomControls;
|
using CustomControls;
|
||||||
|
using GHelper.Gpu;
|
||||||
using Microsoft.VisualBasic.Devices;
|
using Microsoft.VisualBasic.Devices;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
|
||||||
@@ -227,6 +228,44 @@ namespace GHelper
|
|||||||
checkFnLock.CheckedChanged += CheckFnLock_CheckedChanged; ;
|
checkFnLock.CheckedChanged += CheckFnLock_CheckedChanged; ;
|
||||||
|
|
||||||
pictureHelp.Click += PictureHelp_Click;
|
pictureHelp.Click += PictureHelp_Click;
|
||||||
|
|
||||||
|
InitVariBright();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitVariBright()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
using (var amdControl = new AmdGpuControl())
|
||||||
|
{
|
||||||
|
int variBrightSupported = 0, VariBrightEnabled;
|
||||||
|
if (amdControl.GetVariBright(out variBrightSupported, out VariBrightEnabled))
|
||||||
|
{
|
||||||
|
Logger.WriteLine("Varibright: " + variBrightSupported + "," + VariBrightEnabled);
|
||||||
|
checkVariBright.Checked = (VariBrightEnabled == 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
checkVariBright.Visible = (variBrightSupported > 0);
|
||||||
|
checkVariBright.CheckedChanged += CheckVariBright_CheckedChanged;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Debug.WriteLine(ex.ToString());
|
||||||
|
checkVariBright.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CheckVariBright_CheckedChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
using (var amdControl = new AmdGpuControl())
|
||||||
|
{
|
||||||
|
amdControl.SetVariBright(checkVariBright.Checked ? 1 : 0);
|
||||||
|
ProcessHelper.KillByName("RadeonSoftware");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CheckFnLock_CheckedChanged(object? sender, EventArgs e)
|
private void CheckFnLock_CheckedChanged(object? sender, EventArgs e)
|
||||||
|
|||||||
49
app/Fans.Designer.cs
generated
49
app/Fans.Designer.cs
generated
@@ -31,14 +31,14 @@ namespace GHelper
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
ChartArea chartArea5 = new ChartArea();
|
ChartArea chartArea1 = new ChartArea();
|
||||||
Title title5 = new Title();
|
Title title1 = new Title();
|
||||||
ChartArea chartArea6 = new ChartArea();
|
ChartArea chartArea2 = new ChartArea();
|
||||||
Title title6 = new Title();
|
Title title2 = new Title();
|
||||||
ChartArea chartArea7 = new ChartArea();
|
ChartArea chartArea3 = new ChartArea();
|
||||||
Title title7 = new Title();
|
Title title3 = new Title();
|
||||||
ChartArea chartArea8 = new ChartArea();
|
ChartArea chartArea4 = new ChartArea();
|
||||||
Title title8 = new Title();
|
Title title4 = new Title();
|
||||||
panelFans = new Panel();
|
panelFans = new Panel();
|
||||||
labelTip = new Label();
|
labelTip = new Label();
|
||||||
tableFanCharts = new TableLayoutPanel();
|
tableFanCharts = new TableLayoutPanel();
|
||||||
@@ -181,8 +181,8 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// chartGPU
|
// chartGPU
|
||||||
//
|
//
|
||||||
chartArea5.Name = "ChartArea1";
|
chartArea1.Name = "ChartArea1";
|
||||||
chartGPU.ChartAreas.Add(chartArea5);
|
chartGPU.ChartAreas.Add(chartArea1);
|
||||||
chartGPU.Dock = DockStyle.Fill;
|
chartGPU.Dock = DockStyle.Fill;
|
||||||
chartGPU.Location = new Point(12, 289);
|
chartGPU.Location = new Point(12, 289);
|
||||||
chartGPU.Margin = new Padding(2, 10, 2, 10);
|
chartGPU.Margin = new Padding(2, 10, 2, 10);
|
||||||
@@ -190,13 +190,13 @@ namespace GHelper
|
|||||||
chartGPU.Size = new Size(781, 259);
|
chartGPU.Size = new Size(781, 259);
|
||||||
chartGPU.TabIndex = 17;
|
chartGPU.TabIndex = 17;
|
||||||
chartGPU.Text = "chartGPU";
|
chartGPU.Text = "chartGPU";
|
||||||
title5.Name = "Title1";
|
title1.Name = "Title1";
|
||||||
chartGPU.Titles.Add(title5);
|
chartGPU.Titles.Add(title1);
|
||||||
//
|
//
|
||||||
// chartCPU
|
// chartCPU
|
||||||
//
|
//
|
||||||
chartArea6.Name = "ChartArea1";
|
chartArea2.Name = "ChartArea1";
|
||||||
chartCPU.ChartAreas.Add(chartArea6);
|
chartCPU.ChartAreas.Add(chartArea2);
|
||||||
chartCPU.Dock = DockStyle.Fill;
|
chartCPU.Dock = DockStyle.Fill;
|
||||||
chartCPU.Location = new Point(12, 10);
|
chartCPU.Location = new Point(12, 10);
|
||||||
chartCPU.Margin = new Padding(2, 10, 2, 10);
|
chartCPU.Margin = new Padding(2, 10, 2, 10);
|
||||||
@@ -204,13 +204,13 @@ namespace GHelper
|
|||||||
chartCPU.Size = new Size(781, 259);
|
chartCPU.Size = new Size(781, 259);
|
||||||
chartCPU.TabIndex = 14;
|
chartCPU.TabIndex = 14;
|
||||||
chartCPU.Text = "chartCPU";
|
chartCPU.Text = "chartCPU";
|
||||||
title6.Name = "Title1";
|
title2.Name = "Title1";
|
||||||
chartCPU.Titles.Add(title6);
|
chartCPU.Titles.Add(title2);
|
||||||
//
|
//
|
||||||
// chartXGM
|
// chartXGM
|
||||||
//
|
//
|
||||||
chartArea7.Name = "ChartAreaXGM";
|
chartArea3.Name = "ChartAreaXGM";
|
||||||
chartXGM.ChartAreas.Add(chartArea7);
|
chartXGM.ChartAreas.Add(chartArea3);
|
||||||
chartXGM.Dock = DockStyle.Fill;
|
chartXGM.Dock = DockStyle.Fill;
|
||||||
chartXGM.Location = new Point(12, 847);
|
chartXGM.Location = new Point(12, 847);
|
||||||
chartXGM.Margin = new Padding(2, 10, 2, 10);
|
chartXGM.Margin = new Padding(2, 10, 2, 10);
|
||||||
@@ -218,14 +218,14 @@ namespace GHelper
|
|||||||
chartXGM.Size = new Size(781, 261);
|
chartXGM.Size = new Size(781, 261);
|
||||||
chartXGM.TabIndex = 14;
|
chartXGM.TabIndex = 14;
|
||||||
chartXGM.Text = "chartXGM";
|
chartXGM.Text = "chartXGM";
|
||||||
title7.Name = "Title4";
|
title3.Name = "Title4";
|
||||||
chartXGM.Titles.Add(title7);
|
chartXGM.Titles.Add(title3);
|
||||||
chartXGM.Visible = false;
|
chartXGM.Visible = false;
|
||||||
//
|
//
|
||||||
// chartMid
|
// chartMid
|
||||||
//
|
//
|
||||||
chartArea8.Name = "ChartArea3";
|
chartArea4.Name = "ChartArea3";
|
||||||
chartMid.ChartAreas.Add(chartArea8);
|
chartMid.ChartAreas.Add(chartArea4);
|
||||||
chartMid.Dock = DockStyle.Fill;
|
chartMid.Dock = DockStyle.Fill;
|
||||||
chartMid.Location = new Point(12, 568);
|
chartMid.Location = new Point(12, 568);
|
||||||
chartMid.Margin = new Padding(2, 10, 2, 10);
|
chartMid.Margin = new Padding(2, 10, 2, 10);
|
||||||
@@ -233,8 +233,8 @@ namespace GHelper
|
|||||||
chartMid.Size = new Size(781, 259);
|
chartMid.Size = new Size(781, 259);
|
||||||
chartMid.TabIndex = 14;
|
chartMid.TabIndex = 14;
|
||||||
chartMid.Text = "chartMid";
|
chartMid.Text = "chartMid";
|
||||||
title8.Name = "Title3";
|
title4.Name = "Title3";
|
||||||
chartMid.Titles.Add(title8);
|
chartMid.Titles.Add(title4);
|
||||||
chartMid.Visible = false;
|
chartMid.Visible = false;
|
||||||
//
|
//
|
||||||
// panelTitleFans
|
// panelTitleFans
|
||||||
@@ -847,7 +847,6 @@ namespace GHelper
|
|||||||
Controls.Add(panelSliders);
|
Controls.Add(panelSliders);
|
||||||
Margin = new Padding(4, 2, 4, 2);
|
Margin = new Padding(4, 2, 4, 2);
|
||||||
MaximizeBox = false;
|
MaximizeBox = false;
|
||||||
MdiChildrenMinimizedAnchorBottom = false;
|
|
||||||
MinimizeBox = false;
|
MinimizeBox = false;
|
||||||
MinimumSize = new Size(0, 1200);
|
MinimumSize = new Size(0, 1200);
|
||||||
Name = "Fans";
|
Name = "Fans";
|
||||||
|
|||||||
34
app/Fans.cs
34
app/Fans.cs
@@ -1,5 +1,6 @@
|
|||||||
using CustomControls;
|
using CustomControls;
|
||||||
using GHelper.Gpu;
|
using GHelper.Gpu;
|
||||||
|
using System;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Windows.Forms.DataVisualization.Charting;
|
using System.Windows.Forms.DataVisualization.Charting;
|
||||||
|
|
||||||
@@ -8,7 +9,9 @@ namespace GHelper
|
|||||||
public partial class Fans : RForm
|
public partial class Fans : RForm
|
||||||
{
|
{
|
||||||
|
|
||||||
|
int curIndex = -1;
|
||||||
DataPoint curPoint = null;
|
DataPoint curPoint = null;
|
||||||
|
|
||||||
Series seriesCPU;
|
Series seriesCPU;
|
||||||
Series seriesGPU;
|
Series seriesGPU;
|
||||||
Series seriesMid;
|
Series seriesMid;
|
||||||
@@ -639,6 +642,8 @@ namespace GHelper
|
|||||||
private void ChartCPU_MouseUp(object? sender, MouseEventArgs e)
|
private void ChartCPU_MouseUp(object? sender, MouseEventArgs e)
|
||||||
{
|
{
|
||||||
curPoint = null;
|
curPoint = null;
|
||||||
|
curIndex = -1;
|
||||||
|
|
||||||
labelTip.Visible = false;
|
labelTip.Visible = false;
|
||||||
|
|
||||||
SaveProfile(seriesCPU, AsusFan.CPU);
|
SaveProfile(seriesCPU, AsusFan.CPU);
|
||||||
@@ -668,9 +673,12 @@ namespace GHelper
|
|||||||
bool tip = false;
|
bool tip = false;
|
||||||
|
|
||||||
HitTestResult hit = chart.HitTest(e.X, e.Y);
|
HitTestResult hit = chart.HitTest(e.X, e.Y);
|
||||||
|
Series series = chart.Series[0];
|
||||||
|
|
||||||
if (hit.Series is not null && hit.PointIndex >= 0)
|
if (hit.Series is not null && hit.PointIndex >= 0)
|
||||||
{
|
{
|
||||||
curPoint = hit.Series.Points[hit.PointIndex];
|
curIndex = hit.PointIndex;
|
||||||
|
curPoint = hit.Series.Points[curIndex];
|
||||||
tip = true;
|
tip = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -697,11 +705,18 @@ namespace GHelper
|
|||||||
|
|
||||||
if (e.Button.HasFlag(MouseButtons.Left))
|
if (e.Button.HasFlag(MouseButtons.Left))
|
||||||
{
|
{
|
||||||
curPoint.XValue = dx;
|
double deltaY = dy - curPoint.YValues[0];
|
||||||
curPoint.YValues[0] = dy;
|
double deltaX = dx - curPoint.XValue;
|
||||||
|
|
||||||
if (hit.Series is not null)
|
curPoint.XValue = dx;
|
||||||
AdjustAllLevels(hit.PointIndex, dx, dy, hit.Series);
|
|
||||||
|
if (Control.ModifierKeys == Keys.Shift)
|
||||||
|
AdjustAll(0, deltaY, series);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
curPoint.YValues[0] = dy;
|
||||||
|
AdjustAllLevels(curIndex, dx, dy, series);
|
||||||
|
}
|
||||||
|
|
||||||
tip = true;
|
tip = true;
|
||||||
}
|
}
|
||||||
@@ -724,6 +739,15 @@ namespace GHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void AdjustAll(double deltaX, double deltaY, Series series)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < series.Points.Count; i++)
|
||||||
|
{
|
||||||
|
series.Points[i].XValue = Math.Max(20, Math.Min(100, series.Points[i].XValue + deltaX));
|
||||||
|
series.Points[i].YValues[0] = Math.Max(0, Math.Min(100, series.Points[i].YValues[0]+deltaY));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void AdjustAllLevels(int index, double curXVal, double curYVal, Series series)
|
private void AdjustAllLevels(int index, double curXVal, double curYVal, Series series)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||||
<AssemblyVersion>0.76</AssemblyVersion>
|
<AssemblyVersion>0.78</AssemblyVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
|
|||||||
@@ -1,10 +1,37 @@
|
|||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
using static AmdAdl2.Adl2.NativeMethods;
|
||||||
|
|
||||||
namespace AmdAdl2;
|
namespace AmdAdl2;
|
||||||
|
|
||||||
#region Export Struct
|
#region Export Struct
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
|
||||||
|
public struct ADLSGApplicationInfo
|
||||||
|
{
|
||||||
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
|
||||||
|
public string strFileName;
|
||||||
|
|
||||||
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
|
||||||
|
public string strFilePath;
|
||||||
|
|
||||||
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
|
||||||
|
public string strVersion;
|
||||||
|
|
||||||
|
public long timeStamp;
|
||||||
|
public uint iProfileExists;
|
||||||
|
public uint iGPUAffinity;
|
||||||
|
public ADLBdf GPUBdf;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
public struct ADLBdf
|
||||||
|
{
|
||||||
|
public int iBus;
|
||||||
|
public int iDevice;
|
||||||
|
public int iFunction;
|
||||||
|
}
|
||||||
|
|
||||||
[StructLayout(LayoutKind.Sequential)]
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
public struct ADLSingleSensorData {
|
public struct ADLSingleSensorData {
|
||||||
public int Supported;
|
public int Supported;
|
||||||
@@ -481,5 +508,71 @@ public class Adl2 {
|
|||||||
|
|
||||||
[DllImport(Atiadlxx_FileName)]
|
[DllImport(Atiadlxx_FileName)]
|
||||||
public static extern int ADL2_Adapter_ASICFamilyType_Get(IntPtr adlContextHandle, int adapterIndex, out ADLAsicFamilyType asicFamilyType, out int asicFamilyTypeValids);
|
public static extern int ADL2_Adapter_ASICFamilyType_Get(IntPtr adlContextHandle, int adapterIndex, out ADLAsicFamilyType asicFamilyType, out int asicFamilyTypeValids);
|
||||||
|
|
||||||
|
[DllImport(Atiadlxx_FileName)]
|
||||||
|
public static extern int ADL2_SwitchableGraphics_Applications_Get(
|
||||||
|
IntPtr context,
|
||||||
|
int iListType,
|
||||||
|
out int lpNumApps,
|
||||||
|
out IntPtr lppAppList);
|
||||||
|
|
||||||
|
[DllImport(Atiadlxx_FileName)]
|
||||||
|
public static extern int ADL2_Adapter_VariBright_Caps(
|
||||||
|
IntPtr context,
|
||||||
|
int iAdapterIndex,
|
||||||
|
out int iSupported,
|
||||||
|
out int iEnabled,
|
||||||
|
out int iVersion);
|
||||||
|
|
||||||
|
[DllImport(Atiadlxx_FileName)]
|
||||||
|
public static extern int ADL2_Adapter_VariBrightEnable_Set(
|
||||||
|
IntPtr context,
|
||||||
|
int iAdapterIndex,
|
||||||
|
int iEnabled);
|
||||||
|
|
||||||
|
// Clocks
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
public struct ADLODNPerformanceLevel
|
||||||
|
{
|
||||||
|
public int iClock;
|
||||||
|
public int iVddc;
|
||||||
|
public int iEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
public struct ADLODNPerformanceLevels
|
||||||
|
{
|
||||||
|
public int iSize;
|
||||||
|
public int iMode;
|
||||||
|
public int iNumberOfPerformanceLevels;
|
||||||
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 1)]
|
||||||
|
public ADLODNPerformanceLevel[] aLevels;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[DllImport(Atiadlxx_FileName)]
|
||||||
|
public static extern int ADL2_OverdriveN_SystemClocks_Get(
|
||||||
|
IntPtr context,
|
||||||
|
int adapterIndex,
|
||||||
|
ref ADLODNPerformanceLevels performanceLevels);
|
||||||
|
|
||||||
|
[DllImport(Atiadlxx_FileName)]
|
||||||
|
public static extern int ADL2_OverdriveN_SystemClocks_Set(
|
||||||
|
IntPtr context,
|
||||||
|
int adapterIndex,
|
||||||
|
ref ADLODNPerformanceLevels performanceLevels);
|
||||||
|
|
||||||
|
[DllImport(Atiadlxx_FileName)]
|
||||||
|
public static extern int ADL2_OverdriveN_MemoryClocks_Get(
|
||||||
|
IntPtr context,
|
||||||
|
int adapterIndex,
|
||||||
|
ref ADLODNPerformanceLevels performanceLevels);
|
||||||
|
|
||||||
|
[DllImport(Atiadlxx_FileName)]
|
||||||
|
public static extern int ADL2_OverdriveN_MemoryClocks_Set(
|
||||||
|
IntPtr context,
|
||||||
|
int adapterIndex,
|
||||||
|
ref ADLODNPerformanceLevels performanceLevels);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
using System.Runtime.InteropServices;
|
|
||||||
using AmdAdl2;
|
using AmdAdl2;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using static AmdAdl2.Adl2.NativeMethods;
|
||||||
|
|
||||||
namespace GHelper.Gpu;
|
namespace GHelper.Gpu;
|
||||||
|
|
||||||
// Reference: https://github.com/GPUOpen-LibrariesAndSDKs/display-library/blob/master/Sample-Managed/Program.cs
|
// Reference: https://github.com/GPUOpen-LibrariesAndSDKs/display-library/blob/master/Sample-Managed/Program.cs
|
||||||
public class AmdGpuControl : IGpuControl {
|
public class AmdGpuControl : IGpuControl
|
||||||
|
{
|
||||||
private bool _isReady;
|
private bool _isReady;
|
||||||
private IntPtr _adlContextHandle;
|
private IntPtr _adlContextHandle;
|
||||||
private readonly ADLAdapterInfo _internalDiscreteAdapter;
|
private readonly ADLAdapterInfo _internalDiscreteAdapter;
|
||||||
@@ -12,64 +14,79 @@ public class AmdGpuControl : IGpuControl {
|
|||||||
public bool IsNvidia => false;
|
public bool IsNvidia => false;
|
||||||
|
|
||||||
public string FullName => _internalDiscreteAdapter!.AdapterName;
|
public string FullName => _internalDiscreteAdapter!.AdapterName;
|
||||||
public AmdGpuControl() {
|
|
||||||
if (!Adl2.Load())
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (Adl2.ADL2_Main_Control_Create(1, out _adlContextHandle) != Adl2.ADL_SUCCESS)
|
private ADLAdapterInfo? FindByType(ADLAsicFamilyType type = ADLAsicFamilyType.Discrete)
|
||||||
return;
|
{
|
||||||
|
ADL2_Adapter_NumberOfAdapters_Get(_adlContextHandle, out int numberOfAdapters);
|
||||||
Adl2.NativeMethods.ADL2_Adapter_NumberOfAdapters_Get(_adlContextHandle, out int numberOfAdapters);
|
|
||||||
if (numberOfAdapters <= 0)
|
if (numberOfAdapters <= 0)
|
||||||
return;
|
return null;
|
||||||
|
|
||||||
ADLAdapterInfoArray osAdapterInfoData = new();
|
ADLAdapterInfoArray osAdapterInfoData = new();
|
||||||
int osAdapterInfoDataSize = Marshal.SizeOf(osAdapterInfoData);
|
int osAdapterInfoDataSize = Marshal.SizeOf(osAdapterInfoData);
|
||||||
IntPtr AdapterBuffer = Marshal.AllocCoTaskMem(osAdapterInfoDataSize);
|
IntPtr AdapterBuffer = Marshal.AllocCoTaskMem(osAdapterInfoDataSize);
|
||||||
Marshal.StructureToPtr(osAdapterInfoData, AdapterBuffer, false);
|
Marshal.StructureToPtr(osAdapterInfoData, AdapterBuffer, false);
|
||||||
if (Adl2.NativeMethods.ADL2_Adapter_AdapterInfo_Get(_adlContextHandle, AdapterBuffer, osAdapterInfoDataSize) != Adl2.ADL_SUCCESS)
|
if (ADL2_Adapter_AdapterInfo_Get(_adlContextHandle, AdapterBuffer, osAdapterInfoDataSize) != Adl2.ADL_SUCCESS)
|
||||||
return;
|
return null;
|
||||||
|
|
||||||
osAdapterInfoData = (ADLAdapterInfoArray) Marshal.PtrToStructure(AdapterBuffer, osAdapterInfoData.GetType())!;
|
osAdapterInfoData = (ADLAdapterInfoArray)Marshal.PtrToStructure(AdapterBuffer, osAdapterInfoData.GetType())!;
|
||||||
|
|
||||||
const int amdVendorId = 1002;
|
const int amdVendorId = 1002;
|
||||||
|
|
||||||
// Determine which GPU is internal discrete AMD GPU
|
// Determine which GPU is internal discrete AMD GPU
|
||||||
ADLAdapterInfo internalDiscreteAdapter =
|
ADLAdapterInfo internalDiscreteAdapter =
|
||||||
osAdapterInfoData.ADLAdapterInfo
|
osAdapterInfoData.ADLAdapterInfo
|
||||||
.FirstOrDefault(adapter => {
|
.FirstOrDefault(adapter =>
|
||||||
|
{
|
||||||
if (adapter.Exist == 0 || adapter.Present == 0)
|
if (adapter.Exist == 0 || adapter.Present == 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (adapter.VendorID != amdVendorId)
|
if (adapter.VendorID != amdVendorId)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (Adl2.NativeMethods.ADL2_Adapter_ASICFamilyType_Get(_adlContextHandle, adapter.AdapterIndex, out ADLAsicFamilyType asicFamilyType, out int asicFamilyTypeValids) != Adl2.ADL_SUCCESS)
|
if (ADL2_Adapter_ASICFamilyType_Get(_adlContextHandle, adapter.AdapterIndex, out ADLAsicFamilyType asicFamilyType, out int asicFamilyTypeValids) != Adl2.ADL_SUCCESS)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
asicFamilyType = (ADLAsicFamilyType) ((int) asicFamilyType & asicFamilyTypeValids);
|
asicFamilyType = (ADLAsicFamilyType)((int)asicFamilyType & asicFamilyTypeValids);
|
||||||
|
|
||||||
// FIXME: is this correct for G14 2022?
|
return (asicFamilyType & type) != 0;
|
||||||
return (asicFamilyType & ADLAsicFamilyType.Discrete) != 0;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if (internalDiscreteAdapter.Exist == 0)
|
if (internalDiscreteAdapter.Exist == 0)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
return internalDiscreteAdapter;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public AmdGpuControl()
|
||||||
|
{
|
||||||
|
if (!Adl2.Load())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
_internalDiscreteAdapter = internalDiscreteAdapter;
|
if (Adl2.ADL2_Main_Control_Create(1, out _adlContextHandle) != Adl2.ADL_SUCCESS)
|
||||||
_isReady = true;
|
return;
|
||||||
|
|
||||||
|
ADLAdapterInfo? internalDiscreteAdapter = FindByType(ADLAsicFamilyType.Discrete);
|
||||||
|
|
||||||
|
if (internalDiscreteAdapter is not null)
|
||||||
|
{
|
||||||
|
_internalDiscreteAdapter = (ADLAdapterInfo)internalDiscreteAdapter;
|
||||||
|
_isReady = true;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsValid => _isReady && _adlContextHandle != IntPtr.Zero;
|
public bool IsValid => _isReady && _adlContextHandle != IntPtr.Zero;
|
||||||
|
|
||||||
public int? GetCurrentTemperature() {
|
public int? GetCurrentTemperature()
|
||||||
|
{
|
||||||
if (!IsValid)
|
if (!IsValid)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
if (Adl2.NativeMethods.ADL2_New_QueryPMLogData_Get(_adlContextHandle, _internalDiscreteAdapter.AdapterIndex, out ADLPMLogDataOutput adlpmLogDataOutput) != Adl2.ADL_SUCCESS)
|
if (ADL2_New_QueryPMLogData_Get(_adlContextHandle, _internalDiscreteAdapter.AdapterIndex, out ADLPMLogDataOutput adlpmLogDataOutput) != Adl2.ADL_SUCCESS)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
ADLSingleSensorData temperatureSensor = adlpmLogDataOutput.Sensors[(int) ADLSensorType.PMLOG_TEMPERATURE_EDGE];
|
ADLSingleSensorData temperatureSensor = adlpmLogDataOutput.Sensors[(int)ADLSensorType.PMLOG_TEMPERATURE_EDGE];
|
||||||
if (temperatureSensor.Supported == 0)
|
if (temperatureSensor.Supported == 0)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
@@ -79,10 +96,9 @@ public class AmdGpuControl : IGpuControl {
|
|||||||
|
|
||||||
public int? GetGpuUse()
|
public int? GetGpuUse()
|
||||||
{
|
{
|
||||||
if (!IsValid)
|
if (!IsValid) return null;
|
||||||
return null;
|
|
||||||
|
|
||||||
if (Adl2.NativeMethods.ADL2_New_QueryPMLogData_Get(_adlContextHandle, _internalDiscreteAdapter.AdapterIndex, out ADLPMLogDataOutput adlpmLogDataOutput) != Adl2.ADL_SUCCESS)
|
if (ADL2_New_QueryPMLogData_Get(_adlContextHandle, _internalDiscreteAdapter.AdapterIndex, out ADLPMLogDataOutput adlpmLogDataOutput) != Adl2.ADL_SUCCESS)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
ADLSingleSensorData gpuUsage = adlpmLogDataOutput.Sensors[(int)ADLSensorType.PMLOG_INFO_ACTIVITY_GFX];
|
ADLSingleSensorData gpuUsage = adlpmLogDataOutput.Sensors[(int)ADLSensorType.PMLOG_INFO_ACTIVITY_GFX];
|
||||||
@@ -94,20 +110,121 @@ public class AmdGpuControl : IGpuControl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void ReleaseUnmanagedResources() {
|
public bool SetVariBright(int enabled)
|
||||||
if (_adlContextHandle != IntPtr.Zero) {
|
{
|
||||||
Adl2.NativeMethods.ADL2_Main_Control_Destroy(_adlContextHandle);
|
if (_adlContextHandle == IntPtr.Zero) return false;
|
||||||
|
|
||||||
|
ADLAdapterInfo? iGPU = FindByType(ADLAsicFamilyType.Integrated);
|
||||||
|
if (iGPU is null) return false;
|
||||||
|
|
||||||
|
return ADL2_Adapter_VariBrightEnable_Set(_adlContextHandle, ((ADLAdapterInfo)iGPU).AdapterIndex, enabled) == Adl2.ADL_SUCCESS;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool GetVariBright(out int supported, out int enabled)
|
||||||
|
{
|
||||||
|
supported = enabled = -1;
|
||||||
|
|
||||||
|
if (_adlContextHandle == IntPtr.Zero) return false;
|
||||||
|
|
||||||
|
ADLAdapterInfo? iGPU = FindByType(ADLAsicFamilyType.Integrated);
|
||||||
|
if (iGPU is null) return false;
|
||||||
|
|
||||||
|
if (ADL2_Adapter_VariBright_Caps(_adlContextHandle, ((ADLAdapterInfo)iGPU).AdapterIndex, out int supportedOut, out int enabledOut, out int version) != Adl2.ADL_SUCCESS)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
supported = supportedOut;
|
||||||
|
enabled = enabledOut;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ADLODNPerformanceLevels? GetGPUClocks()
|
||||||
|
{
|
||||||
|
if (!IsValid) return null;
|
||||||
|
|
||||||
|
ADLODNPerformanceLevels performanceLevels = new();
|
||||||
|
ADL2_OverdriveN_SystemClocks_Get(_adlContextHandle, _internalDiscreteAdapter.AdapterIndex, ref performanceLevels);
|
||||||
|
|
||||||
|
return performanceLevels;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void KillGPUApps()
|
||||||
|
{
|
||||||
|
|
||||||
|
if (!IsValid) return;
|
||||||
|
|
||||||
|
IntPtr appInfoPtr = IntPtr.Zero;
|
||||||
|
int appCount = 0;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// Get switchable graphics applications information
|
||||||
|
var result = ADL2_SwitchableGraphics_Applications_Get(_adlContextHandle, 2, out appCount, out appInfoPtr);
|
||||||
|
if (result != 0)
|
||||||
|
{
|
||||||
|
throw new Exception("Failed to get switchable graphics applications. Error code: " + result);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert the application data pointers to an array of structs
|
||||||
|
var appInfoArray = new ADLSGApplicationInfo[appCount];
|
||||||
|
IntPtr currentPtr = appInfoPtr;
|
||||||
|
|
||||||
|
for (int i = 0; i < appCount; i++)
|
||||||
|
{
|
||||||
|
appInfoArray[i] = Marshal.PtrToStructure<ADLSGApplicationInfo>(currentPtr);
|
||||||
|
currentPtr = IntPtr.Add(currentPtr, Marshal.SizeOf<ADLSGApplicationInfo>());
|
||||||
|
}
|
||||||
|
|
||||||
|
var appNames = new List<string>();
|
||||||
|
|
||||||
|
for (int i = 0; i < appCount; i++)
|
||||||
|
{
|
||||||
|
if (appInfoArray[i].iGPUAffinity == 1)
|
||||||
|
{
|
||||||
|
Logger.WriteLine(appInfoArray[i].strFileName + ":" + appInfoArray[i].iGPUAffinity + "(" + appInfoArray[i].timeStamp + ")");
|
||||||
|
appNames.Add(Path.GetFileNameWithoutExtension(appInfoArray[i].strFileName));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (string kill in appNames) ProcessHelper.KillByName(kill);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Logger.WriteLine(ex.Message);
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
// Clean up resources
|
||||||
|
if (appInfoPtr != IntPtr.Zero)
|
||||||
|
{
|
||||||
|
Marshal.FreeCoTaskMem(appInfoPtr);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void ReleaseUnmanagedResources()
|
||||||
|
{
|
||||||
|
if (_adlContextHandle != IntPtr.Zero)
|
||||||
|
{
|
||||||
|
ADL2_Main_Control_Destroy(_adlContextHandle);
|
||||||
_adlContextHandle = IntPtr.Zero;
|
_adlContextHandle = IntPtr.Zero;
|
||||||
_isReady = false;
|
_isReady = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Dispose() {
|
public void Dispose()
|
||||||
|
{
|
||||||
ReleaseUnmanagedResources();
|
ReleaseUnmanagedResources();
|
||||||
GC.SuppressFinalize(this);
|
GC.SuppressFinalize(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
~AmdGpuControl() {
|
~AmdGpuControl()
|
||||||
|
{
|
||||||
ReleaseUnmanagedResources();
|
ReleaseUnmanagedResources();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,4 +6,6 @@ public interface IGpuControl : IDisposable {
|
|||||||
public string FullName { get; }
|
public string FullName { get; }
|
||||||
int? GetCurrentTemperature();
|
int? GetCurrentTemperature();
|
||||||
int? GetGpuUse();
|
int? GetGpuUse();
|
||||||
|
void KillGPUApps();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,26 +55,13 @@ public class NvidiaGpuControl : IGpuControl
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
Process[] processes = internalGpu.GetActiveApplications();
|
Process[] processes = internalGpu.GetActiveApplications();
|
||||||
foreach (Process process in processes)
|
foreach (Process process in processes) ProcessHelper.KillByProcess(process);
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
process?.Kill();
|
|
||||||
Logger.WriteLine("Stopped: " + process.ProcessName);
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Logger.WriteLine(ex.Message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Logger.WriteLine(ex.Message);
|
Logger.WriteLine(ex.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//NVIDIA.RestartDisplayDriver();
|
//NVIDIA.RestartDisplayDriver();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ public static class HardwareControl
|
|||||||
{
|
{
|
||||||
AppConfig.setConfig("fan_max", fan);
|
AppConfig.setConfig("fan_max", fan);
|
||||||
}
|
}
|
||||||
private static string FormatFan(int fan)
|
public static string FormatFan(int fan)
|
||||||
{
|
{
|
||||||
// fix for old models
|
// fix for old models
|
||||||
if (fan < 0)
|
if (fan < 0)
|
||||||
@@ -187,7 +187,7 @@ public static class HardwareControl
|
|||||||
public static void KillGPUApps()
|
public static void KillGPUApps()
|
||||||
{
|
{
|
||||||
|
|
||||||
List<string> tokill = new() { "EADesktop", "RadeonSoftware", "epicgameslauncher" };
|
List<string> tokill = new() { "EADesktop", "RadeonSoftware", "epicgameslauncher", "ASUSSmartDisplayControl" };
|
||||||
|
|
||||||
if (AppConfig.isConfig("kill_gpu_apps"))
|
if (AppConfig.isConfig("kill_gpu_apps"))
|
||||||
{
|
{
|
||||||
@@ -196,24 +196,11 @@ public static class HardwareControl
|
|||||||
tokill.Add("nvcplui");
|
tokill.Add("nvcplui");
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (string kill in tokill)
|
foreach (string kill in tokill) ProcessHelper.KillByName(kill);
|
||||||
foreach (var process in Process.GetProcessesByName(kill))
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
process.Kill();
|
|
||||||
Logger.WriteLine($"Stopped: {process.ProcessName}");
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Logger.WriteLine($"Failed to stop: {process.ProcessName} {ex.Message}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (AppConfig.isConfig("kill_gpu_apps") && GpuControl is not null && GpuControl.IsNvidia)
|
if (AppConfig.isConfig("kill_gpu_apps") && GpuControl is not null)
|
||||||
{
|
{
|
||||||
NvidiaGpuControl nvControl = (NvidiaGpuControl)GpuControl;
|
GpuControl.KillGPUApps();
|
||||||
nvControl.KillGPUApps();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ namespace GHelper
|
|||||||
if (!backlightActivity && iddle.TotalSeconds < kb_timeout)
|
if (!backlightActivity && iddle.TotalSeconds < kb_timeout)
|
||||||
{
|
{
|
||||||
backlightActivity = true;
|
backlightActivity = true;
|
||||||
SetBacklight();
|
SetBacklightAuto();
|
||||||
}
|
}
|
||||||
|
|
||||||
//Debug.WriteLine(iddle.TotalSeconds);
|
//Debug.WriteLine(iddle.TotalSeconds);
|
||||||
@@ -369,7 +369,7 @@ namespace GHelper
|
|||||||
Program.settingsForm.BeginInvoke(Program.settingsForm.RunToast, "Fn-Lock "+(fnLock==1?"On":"Off"), ToastIcon.FnLock);
|
Program.settingsForm.BeginInvoke(Program.settingsForm.RunToast, "Fn-Lock "+(fnLock==1?"On":"Off"), ToastIcon.FnLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void TabletMode()
|
public static void TabletMode()
|
||||||
{
|
{
|
||||||
bool touchpadState = GetTouchpadState();
|
bool touchpadState = GetTouchpadState();
|
||||||
bool tabletState = Program.acpi.DeviceGet(AsusACPI.TabletState) > 0;
|
bool tabletState = Program.acpi.DeviceGet(AsusACPI.TabletState) > 0;
|
||||||
@@ -412,7 +412,7 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static int GetBacklight(bool auto = false)
|
public static int GetBacklight()
|
||||||
{
|
{
|
||||||
int backlight_power = AppConfig.getConfig("keyboard_brightness", 1);
|
int backlight_power = AppConfig.getConfig("keyboard_brightness", 1);
|
||||||
int backlight_battery = AppConfig.getConfig("keyboard_brightness_ac", 1);
|
int backlight_battery = AppConfig.getConfig("keyboard_brightness_ac", 1);
|
||||||
@@ -420,18 +420,17 @@ namespace GHelper
|
|||||||
|
|
||||||
int backlight;
|
int backlight;
|
||||||
|
|
||||||
if (auto)
|
//backlight = onBattery ? Math.Min(backlight_battery, backlight_power) : Math.Max(backlight_battery, backlight_power);
|
||||||
backlight = onBattery ? Math.Min(backlight_battery, backlight_power) : Math.Max(backlight_battery, backlight_power);
|
backlight = onBattery ? backlight_battery : backlight_power;
|
||||||
else
|
|
||||||
backlight = onBattery ? backlight_battery : backlight_power;
|
|
||||||
|
|
||||||
return Math.Max(Math.Min(3, backlight), 0);
|
return Math.Max(Math.Min(3, backlight), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SetBacklight(bool auto = false)
|
public static void SetBacklightAuto(bool init = false)
|
||||||
{
|
{
|
||||||
if (auto) AsusUSB.Init();
|
if (init) AsusUSB.Init();
|
||||||
AsusUSB.ApplyBrightness(GetBacklight(auto), "Auto");
|
|
||||||
|
if (!OptimizationService.IsRunning()) AsusUSB.ApplyBrightness(GetBacklight(), "Auto");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SetBacklight(int delta)
|
public static void SetBacklight(int delta)
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ public static class Logger
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
var file = File.ReadAllLines(logFile);
|
var file = File.ReadAllLines(logFile);
|
||||||
int skip = Math.Max(0, file.Count() - 500);
|
int skip = Math.Max(0, file.Count() - 1000);
|
||||||
File.WriteAllLines(logFile, file.Skip(skip).ToArray());
|
File.WriteAllLines(logFile, file.Skip(skip).ToArray());
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
|
|||||||
@@ -327,6 +327,8 @@ public class NativeMethods
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[DllImport("User32.dll")]
|
||||||
|
public static extern bool SetForegroundWindow(IntPtr handle);
|
||||||
|
|
||||||
private const int WM_SYSCOMMAND = 0x0112;
|
private const int WM_SYSCOMMAND = 0x0112;
|
||||||
private const int SC_MONITORPOWER = 0xF170;
|
private const int SC_MONITORPOWER = 0xF170;
|
||||||
@@ -478,6 +480,17 @@ public class NativeMethods
|
|||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
[DllImport("powrprof.dll")]
|
||||||
|
static extern uint PowerReadACValue(
|
||||||
|
IntPtr RootPowerKey,
|
||||||
|
Guid SchemeGuid,
|
||||||
|
Guid SubGroupOfPowerSettingGuid,
|
||||||
|
Guid PowerSettingGuid,
|
||||||
|
ref int Type,
|
||||||
|
ref IntPtr Buffer,
|
||||||
|
ref uint BufferSize
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
[DllImport("PowrProf.dll", CharSet = CharSet.Unicode)]
|
[DllImport("PowrProf.dll", CharSet = CharSet.Unicode)]
|
||||||
static extern UInt32 PowerSetActiveScheme(IntPtr RootPowerKey,
|
static extern UInt32 PowerSetActiveScheme(IntPtr RootPowerKey,
|
||||||
@@ -489,6 +502,9 @@ public class NativeMethods
|
|||||||
static readonly Guid GUID_CPU = new Guid("54533251-82be-4824-96c1-47b60b740d00");
|
static readonly Guid GUID_CPU = new Guid("54533251-82be-4824-96c1-47b60b740d00");
|
||||||
static readonly Guid GUID_BOOST = new Guid("be337238-0d82-4146-a960-4f3749d470c7");
|
static readonly Guid GUID_BOOST = new Guid("be337238-0d82-4146-a960-4f3749d470c7");
|
||||||
|
|
||||||
|
private static Guid GUID_SLEEP_SUBGROUP = new Guid("238c9fa8-0aad-41ed-83f4-97be242c8f20");
|
||||||
|
private static Guid GUID_HIBERNATEIDLE = new Guid("9d7815a6-7ee4-497e-8888-515a05f02364");
|
||||||
|
|
||||||
[DllImportAttribute("powrprof.dll", EntryPoint = "PowerGetActualOverlayScheme")]
|
[DllImportAttribute("powrprof.dll", EntryPoint = "PowerGetActualOverlayScheme")]
|
||||||
public static extern uint PowerGetActualOverlayScheme(out Guid ActualOverlayGuid);
|
public static extern uint PowerGetActualOverlayScheme(out Guid ActualOverlayGuid);
|
||||||
|
|
||||||
@@ -584,16 +600,19 @@ 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");
|
||||||
|
|
||||||
foreach (var device in devices)
|
foreach (var device in devices)
|
||||||
{
|
{
|
||||||
if (device.outputTechnology == DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL ||
|
if (device.outputTechnology == DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL ||
|
||||||
device.outputTechnology == DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED)
|
device.outputTechnology == DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED ||
|
||||||
|
device.monitorFriendlyDeviceName == internalName)
|
||||||
{
|
{
|
||||||
displayNum = count;
|
displayNum = count;
|
||||||
|
AppConfig.setConfig("internal_display", device.monitorFriendlyDeviceName);
|
||||||
}
|
}
|
||||||
count++;
|
count++;
|
||||||
//Logger.WriteLine(device.outputTechnology.ToString());
|
//Logger.WriteLine(device.monitorFriendlyDeviceName + ":" + device.outputTechnology.ToString());
|
||||||
//Logger.WriteLine(device.monitorFriendlyDeviceName);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var screens = Screen.AllScreens;
|
var screens = Screen.AllScreens;
|
||||||
@@ -676,6 +695,20 @@ public class NativeMethods
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static nint GetHuibernateAfter()
|
||||||
|
{
|
||||||
|
Guid activePolicyGuid = GetActiveScheme();
|
||||||
|
var type = 0;
|
||||||
|
nint value = 0;
|
||||||
|
var valueSize = 4u;
|
||||||
|
|
||||||
|
PowerReadACValue(IntPtr.Zero, activePolicyGuid,
|
||||||
|
GUID_SLEEP_SUBGROUP, GUID_HIBERNATEIDLE,
|
||||||
|
ref type, ref value, ref valueSize);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
static Guid GetActiveScheme()
|
static Guid GetActiveScheme()
|
||||||
{
|
{
|
||||||
IntPtr pActiveSchemeGuid;
|
IntPtr pActiveSchemeGuid;
|
||||||
|
|||||||
97
app/ProcessHelper.cs
Normal file
97
app/ProcessHelper.cs
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Security.Principal;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace GHelper
|
||||||
|
{
|
||||||
|
public static class ProcessHelper
|
||||||
|
{
|
||||||
|
private static long lastAdmin;
|
||||||
|
|
||||||
|
public static void CheckAlreadyRunning()
|
||||||
|
{
|
||||||
|
Process currentProcess = Process.GetCurrentProcess();
|
||||||
|
Process[] processes = Process.GetProcessesByName(currentProcess.ProcessName);
|
||||||
|
|
||||||
|
if (processes.Length > 1)
|
||||||
|
{
|
||||||
|
foreach (Process process in processes)
|
||||||
|
if (process.Id != currentProcess.Id)
|
||||||
|
try
|
||||||
|
{
|
||||||
|
process.Kill();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Logger.WriteLine(ex.ToString());
|
||||||
|
MessageBox.Show(Properties.Strings.AppAlreadyRunningText, Properties.Strings.AppAlreadyRunning, MessageBoxButtons.OK);
|
||||||
|
Application.Exit();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsUserAdministrator()
|
||||||
|
{
|
||||||
|
WindowsIdentity identity = WindowsIdentity.GetCurrent();
|
||||||
|
WindowsPrincipal principal = new WindowsPrincipal(identity);
|
||||||
|
return principal.IsInRole(WindowsBuiltInRole.Administrator);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void RunAsAdmin(string? param = null)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastAdmin) < 2000) return;
|
||||||
|
lastAdmin = DateTimeOffset.Now.ToUnixTimeMilliseconds();
|
||||||
|
|
||||||
|
// Check if the current user is an administrator
|
||||||
|
if (!IsUserAdministrator())
|
||||||
|
{
|
||||||
|
ProcessStartInfo startInfo = new ProcessStartInfo();
|
||||||
|
startInfo.UseShellExecute = true;
|
||||||
|
startInfo.WorkingDirectory = Environment.CurrentDirectory;
|
||||||
|
startInfo.FileName = Application.ExecutablePath;
|
||||||
|
startInfo.Arguments = param;
|
||||||
|
startInfo.Verb = "runas";
|
||||||
|
Process.Start(startInfo);
|
||||||
|
Application.Exit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void KillByName(string name)
|
||||||
|
{
|
||||||
|
foreach (var process in Process.GetProcessesByName(name))
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
process.Kill();
|
||||||
|
Logger.WriteLine($"Stopped: {process.ProcessName}");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Logger.WriteLine($"Failed to stop: {process.ProcessName} {ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void KillByProcess(Process process)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
process.Kill();
|
||||||
|
Logger.WriteLine($"Stopped: {process.ProcessName}");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Logger.WriteLine($"Failed to stop: {process.ProcessName} {ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -25,7 +25,6 @@ namespace GHelper
|
|||||||
|
|
||||||
private static long lastAuto;
|
private static long lastAuto;
|
||||||
private static long lastTheme;
|
private static long lastTheme;
|
||||||
private static long lastAdmin;
|
|
||||||
|
|
||||||
public static InputDispatcher inputDispatcher;
|
public static InputDispatcher inputDispatcher;
|
||||||
|
|
||||||
@@ -48,7 +47,7 @@ namespace GHelper
|
|||||||
Debug.WriteLine(CultureInfo.CurrentUICulture);
|
Debug.WriteLine(CultureInfo.CurrentUICulture);
|
||||||
//Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("fr");
|
//Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("fr");
|
||||||
|
|
||||||
CheckProcesses();
|
ProcessHelper.CheckAlreadyRunning();
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -67,7 +66,7 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
Logger.WriteLine("------------");
|
Logger.WriteLine("------------");
|
||||||
Logger.WriteLine("App launched: " + AppConfig.GetModel() + " :" + Assembly.GetExecutingAssembly().GetName().Version.ToString() + CultureInfo.CurrentUICulture + (IsUserAdministrator() ? "." : ""));
|
Logger.WriteLine("App launched: " + AppConfig.GetModel() + " :" + Assembly.GetExecutingAssembly().GetName().Version.ToString() + CultureInfo.CurrentUICulture + (ProcessHelper.IsUserAdministrator() ? "." : ""));
|
||||||
|
|
||||||
Application.EnableVisualStyles();
|
Application.EnableVisualStyles();
|
||||||
|
|
||||||
@@ -100,8 +99,6 @@ namespace GHelper
|
|||||||
SettingsToggle(action);
|
SettingsToggle(action);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Application.Run();
|
Application.Run();
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -174,8 +171,7 @@ namespace GHelper
|
|||||||
|
|
||||||
public static void SettingsToggle(string action = "")
|
public static void SettingsToggle(string action = "")
|
||||||
{
|
{
|
||||||
if (settingsForm.Visible)
|
if (settingsForm.Visible) settingsForm.HideAll();
|
||||||
settingsForm.Hide();
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
settingsForm.Show();
|
settingsForm.Show();
|
||||||
@@ -214,55 +210,6 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void CheckProcesses()
|
|
||||||
{
|
|
||||||
Process currentProcess = Process.GetCurrentProcess();
|
|
||||||
Process[] processes = Process.GetProcessesByName(currentProcess.ProcessName);
|
|
||||||
|
|
||||||
if (processes.Length > 1)
|
|
||||||
{
|
|
||||||
foreach (Process process in processes)
|
|
||||||
if (process.Id != currentProcess.Id)
|
|
||||||
try
|
|
||||||
{
|
|
||||||
process.Kill();
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Logger.WriteLine(ex.ToString());
|
|
||||||
MessageBox.Show(Properties.Strings.AppAlreadyRunningText, Properties.Strings.AppAlreadyRunning, MessageBoxButtons.OK);
|
|
||||||
Application.Exit();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static bool IsUserAdministrator()
|
|
||||||
{
|
|
||||||
WindowsIdentity identity = WindowsIdentity.GetCurrent();
|
|
||||||
WindowsPrincipal principal = new WindowsPrincipal(identity);
|
|
||||||
return principal.IsInRole(WindowsBuiltInRole.Administrator);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void RunAsAdmin(string? param = null)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastAdmin) < 2000) return;
|
|
||||||
lastAdmin = DateTimeOffset.Now.ToUnixTimeMilliseconds();
|
|
||||||
|
|
||||||
// Check if the current user is an administrator
|
|
||||||
if (!IsUserAdministrator())
|
|
||||||
{
|
|
||||||
ProcessStartInfo startInfo = new ProcessStartInfo();
|
|
||||||
startInfo.UseShellExecute = true;
|
|
||||||
startInfo.WorkingDirectory = Environment.CurrentDirectory;
|
|
||||||
startInfo.FileName = Application.ExecutablePath;
|
|
||||||
startInfo.Arguments = param;
|
|
||||||
startInfo.Verb = "runas";
|
|
||||||
Process.Start(startInfo);
|
|
||||||
Application.Exit();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -190,7 +190,7 @@
|
|||||||
<value>Encendida</value>
|
<value>Encendida</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BacklightTimeout" xml:space="preserve">
|
<data name="BacklightTimeout" xml:space="preserve">
|
||||||
<value>Apagar con batería tras (segundos)</value>
|
<value>Apagar con batería tras (0 - nunca)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BacklightTimeoutPlugged" xml:space="preserve">
|
<data name="BacklightTimeoutPlugged" xml:space="preserve">
|
||||||
<value>Apagar cuando está enchufado tras (0 - nunca)</value>
|
<value>Apagar cuando está enchufado tras (0 - nunca)</value>
|
||||||
@@ -267,6 +267,9 @@
|
|||||||
<data name="FansPower" xml:space="preserve">
|
<data name="FansPower" xml:space="preserve">
|
||||||
<value>Ventiladores + Energía</value>
|
<value>Ventiladores + Energía</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="FnLock" xml:space="preserve">
|
||||||
|
<value>Usar teclas de acceso rápido (Fn+F) sin pulsar Fn</value>
|
||||||
|
</data>
|
||||||
<data name="GPUBoost" xml:space="preserve">
|
<data name="GPUBoost" xml:space="preserve">
|
||||||
<value>Dynamic Boost</value>
|
<value>Dynamic Boost</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -435,6 +438,9 @@
|
|||||||
<data name="ToggleAura" xml:space="preserve">
|
<data name="ToggleAura" xml:space="preserve">
|
||||||
<value>Alternar Aura</value>
|
<value>Alternar Aura</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="ToggleFnLock" xml:space="preserve">
|
||||||
|
<value>Alternar Fn-Lock</value>
|
||||||
|
</data>
|
||||||
<data name="ToggleMiniled" xml:space="preserve">
|
<data name="ToggleMiniled" xml:space="preserve">
|
||||||
<value>Alternar Miniled (si comp.)</value>
|
<value>Alternar Miniled (si comp.)</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -154,7 +154,7 @@
|
|||||||
<value>Güç Sınırlarını Uygula</value>
|
<value>Güç Sınırlarını Uygula</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
|
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
|
||||||
<value>Auto adjust Windows Power Mode</value>
|
<value>Windows Güç Modunu otomatik ayarla</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraBreathe" xml:space="preserve">
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
<value>Nefes</value>
|
<value>Nefes</value>
|
||||||
@@ -189,6 +189,12 @@
|
|||||||
<data name="Awake" xml:space="preserve">
|
<data name="Awake" xml:space="preserve">
|
||||||
<value>Uyanık</value>
|
<value>Uyanık</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BacklightTimeout" xml:space="preserve">
|
||||||
|
<value>Pildeyken klavye ışığının kapanma süresi</value>
|
||||||
|
</data>
|
||||||
|
<data name="BacklightTimeoutPlugged" xml:space="preserve">
|
||||||
|
<value>Şarjdayken klavye ışığının kapanma süresi (0 her zaman açık)</value>
|
||||||
|
</data>
|
||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>Dengeli</value>
|
<value>Dengeli</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -258,6 +264,9 @@
|
|||||||
<data name="FansPower" xml:space="preserve">
|
<data name="FansPower" xml:space="preserve">
|
||||||
<value>Fanlar + Güç</value>
|
<value>Fanlar + Güç</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="FnLock" xml:space="preserve">
|
||||||
|
<value>Fn+F kısayol tuşlarını FN tuşuna basmadan çalıştır</value>
|
||||||
|
</data>
|
||||||
<data name="GPUChanging" xml:space="preserve">
|
<data name="GPUChanging" xml:space="preserve">
|
||||||
<value>Değiştiriliyor</value>
|
<value>Değiştiriliyor</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -282,6 +291,9 @@
|
|||||||
<data name="KeyboardAuto" xml:space="preserve">
|
<data name="KeyboardAuto" xml:space="preserve">
|
||||||
<value>Pille çalışırken klavye aydınlatmasını kıs, şarjdayken eski haline dön</value>
|
<value>Pille çalışırken klavye aydınlatmasını kıs, şarjdayken eski haline dön</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="KillGpuApps" xml:space="preserve">
|
||||||
|
<value>Eco'ya geçerken dGPU kullanan tüm uygulamaları durdur</value>
|
||||||
|
</data>
|
||||||
<data name="LaptopBacklight" xml:space="preserve">
|
<data name="LaptopBacklight" xml:space="preserve">
|
||||||
<value>Aydınlatması</value>
|
<value>Aydınlatması</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -333,6 +345,9 @@
|
|||||||
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
||||||
<value>Pille çalışırken Eko moda ve şarjdayken Standart moda geçiş yapın</value>
|
<value>Pille çalışırken Eko moda ve şarjdayken Standart moda geçiş yapın</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="OptimizedUSBC" xml:space="preserve">
|
||||||
|
<value>Optimize edilmiş modda USB-c şarj cihazında GPU'yu devre dışı bırak</value>
|
||||||
|
</data>
|
||||||
<data name="Other" xml:space="preserve">
|
<data name="Other" xml:space="preserve">
|
||||||
<value>Diğer</value>
|
<value>Diğer</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -264,6 +264,9 @@
|
|||||||
<data name="FansPower" xml:space="preserve">
|
<data name="FansPower" xml:space="preserve">
|
||||||
<value>Кулери та Потужність</value>
|
<value>Кулери та Потужність</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="FnLock" xml:space="preserve">
|
||||||
|
<value>Гарячі клавіші Fn+F працюють без натискання Fn</value>
|
||||||
|
</data>
|
||||||
<data name="GPUChanging" xml:space="preserve">
|
<data name="GPUChanging" xml:space="preserve">
|
||||||
<value>Зміна</value>
|
<value>Зміна</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -265,7 +265,7 @@
|
|||||||
<value>风扇与电源设置</value>
|
<value>风扇与电源设置</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FnLock" xml:space="preserve">
|
<data name="FnLock" xml:space="preserve">
|
||||||
<value>无需FN处理 Fn+F 热键</value>
|
<value>打开FnLock (无需按下FN使用FN+(F1-F12)热键)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUChanging" xml:space="preserve">
|
<data name="GPUChanging" xml:space="preserve">
|
||||||
<value>切换中...</value>
|
<value>切换中...</value>
|
||||||
@@ -292,7 +292,7 @@
|
|||||||
<value>电池模式下降低键盘亮度以省电,并在插上电源时恢复</value>
|
<value>电池模式下降低键盘亮度以省电,并在插上电源时恢复</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="KillGpuApps" xml:space="preserve">
|
<data name="KillGpuApps" xml:space="preserve">
|
||||||
<value>当切换到集显模式时,停止所有正在使用dGPU的应用</value>
|
<value>当切换到集显模式时,停止所有正在使用独显的应用</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopBacklight" xml:space="preserve">
|
<data name="LaptopBacklight" xml:space="preserve">
|
||||||
<value>背光</value>
|
<value>背光</value>
|
||||||
@@ -349,7 +349,7 @@
|
|||||||
<value>使用电池时切换到集显模式,并在插上电源后重新启用标准模式</value>
|
<value>使用电池时切换到集显模式,并在插上电源后重新启用标准模式</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OptimizedUSBC" xml:space="preserve">
|
<data name="OptimizedUSBC" xml:space="preserve">
|
||||||
<value>在自动切换模式下,使用USB-C充电器时禁用GPU</value>
|
<value>在自动切换模式下,使用USB-C为笔记本供电时禁用GPU</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Other" xml:space="preserve">
|
<data name="Other" xml:space="preserve">
|
||||||
<value>其他</value>
|
<value>其他</value>
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ using System.Net;
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
using System.Timers;
|
using System.Timers;
|
||||||
using Tools;
|
|
||||||
|
|
||||||
namespace GHelper
|
namespace GHelper
|
||||||
{
|
{
|
||||||
@@ -35,6 +34,8 @@ namespace GHelper
|
|||||||
private bool customFans = false;
|
private bool customFans = false;
|
||||||
private int customPower = 0;
|
private int customPower = 0;
|
||||||
|
|
||||||
|
bool isGpuSection = true;
|
||||||
|
|
||||||
public SettingsForm()
|
public SettingsForm()
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -169,7 +170,7 @@ namespace GHelper
|
|||||||
int trim = model.LastIndexOf("_");
|
int trim = model.LastIndexOf("_");
|
||||||
if (trim > 0) model = model.Substring(0, trim);
|
if (trim > 0) model = model.Substring(0, trim);
|
||||||
|
|
||||||
labelModel.Text = model + (Program.IsUserAdministrator() ? "." : "");
|
labelModel.Text = model + (ProcessHelper.IsUserAdministrator() ? "." : "");
|
||||||
|
|
||||||
TopMost = AppConfig.getConfig("topmost") == 1;
|
TopMost = AppConfig.getConfig("topmost") == 1;
|
||||||
|
|
||||||
@@ -181,14 +182,8 @@ namespace GHelper
|
|||||||
CheckForUpdatesAsync();
|
CheckForUpdatesAsync();
|
||||||
});
|
});
|
||||||
|
|
||||||
Activated += SettingsForm_Activated;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SettingsForm_Activated(object? sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (fans != null && fans.Text != "") fans.BringToFront();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void WndProc(ref Message m)
|
protected override void WndProc(ref Message m)
|
||||||
{
|
{
|
||||||
@@ -263,32 +258,36 @@ namespace GHelper
|
|||||||
|
|
||||||
contextMenuStrip.Items.Add("-");
|
contextMenuStrip.Items.Add("-");
|
||||||
|
|
||||||
var titleGPU = new ToolStripMenuItem(Properties.Strings.GPUMode);
|
if (isGpuSection)
|
||||||
titleGPU.Margin = padding;
|
{
|
||||||
titleGPU.Enabled = false;
|
var titleGPU = new ToolStripMenuItem(Properties.Strings.GPUMode);
|
||||||
contextMenuStrip.Items.Add(titleGPU);
|
titleGPU.Margin = padding;
|
||||||
|
titleGPU.Enabled = false;
|
||||||
|
contextMenuStrip.Items.Add(titleGPU);
|
||||||
|
|
||||||
menuEco = new ToolStripMenuItem(Properties.Strings.EcoMode);
|
menuEco = new ToolStripMenuItem(Properties.Strings.EcoMode);
|
||||||
menuEco.Click += ButtonEco_Click;
|
menuEco.Click += ButtonEco_Click;
|
||||||
menuEco.Margin = padding;
|
menuEco.Margin = padding;
|
||||||
contextMenuStrip.Items.Add(menuEco);
|
contextMenuStrip.Items.Add(menuEco);
|
||||||
|
|
||||||
menuStandard = new ToolStripMenuItem(Properties.Strings.StandardMode);
|
menuStandard = new ToolStripMenuItem(Properties.Strings.StandardMode);
|
||||||
menuStandard.Click += ButtonStandard_Click;
|
menuStandard.Click += ButtonStandard_Click;
|
||||||
menuStandard.Margin = padding;
|
menuStandard.Margin = padding;
|
||||||
contextMenuStrip.Items.Add(menuStandard);
|
contextMenuStrip.Items.Add(menuStandard);
|
||||||
|
|
||||||
menuUltimate = new ToolStripMenuItem(Properties.Strings.UltimateMode);
|
menuUltimate = new ToolStripMenuItem(Properties.Strings.UltimateMode);
|
||||||
menuUltimate.Click += ButtonUltimate_Click;
|
menuUltimate.Click += ButtonUltimate_Click;
|
||||||
menuUltimate.Margin = padding;
|
menuUltimate.Margin = padding;
|
||||||
contextMenuStrip.Items.Add(menuUltimate);
|
contextMenuStrip.Items.Add(menuUltimate);
|
||||||
|
|
||||||
menuOptimized = new ToolStripMenuItem(Properties.Strings.Optimized);
|
menuOptimized = new ToolStripMenuItem(Properties.Strings.Optimized);
|
||||||
menuOptimized.Click += ButtonOptimized_Click;
|
menuOptimized.Click += ButtonOptimized_Click;
|
||||||
menuOptimized.Margin = padding;
|
menuOptimized.Margin = padding;
|
||||||
contextMenuStrip.Items.Add(menuOptimized);
|
contextMenuStrip.Items.Add(menuOptimized);
|
||||||
|
|
||||||
|
contextMenuStrip.Items.Add("-");
|
||||||
|
}
|
||||||
|
|
||||||
contextMenuStrip.Items.Add("-");
|
|
||||||
|
|
||||||
var quit = new ToolStripMenuItem(Properties.Strings.Quit);
|
var quit = new ToolStripMenuItem(Properties.Strings.Quit);
|
||||||
quit.Click += ButtonQuit_Click;
|
quit.Click += ButtonQuit_Click;
|
||||||
@@ -374,7 +373,8 @@ namespace GHelper
|
|||||||
|
|
||||||
string url = null;
|
string url = null;
|
||||||
|
|
||||||
for (int i = 0; i < assets.GetArrayLength(); i++) {
|
for (int i = 0; i < assets.GetArrayLength(); i++)
|
||||||
|
{
|
||||||
if (assets[i].GetProperty("browser_download_url").ToString().Contains(".zip"))
|
if (assets[i].GetProperty("browser_download_url").ToString().Contains(".zip"))
|
||||||
url = assets[i].GetProperty("browser_download_url").ToString();
|
url = assets[i].GetProperty("browser_download_url").ToString();
|
||||||
}
|
}
|
||||||
@@ -912,12 +912,23 @@ namespace GHelper
|
|||||||
Application.Exit();
|
Application.Exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void HideAll()
|
||||||
|
{
|
||||||
|
this.Hide();
|
||||||
|
if (fans != null && fans.Text != "") fans.Close();
|
||||||
|
if (keyb != null && keyb.Text != "") keyb.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void CloseOthers()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
private void SettingsForm_FormClosing(object? sender, FormClosingEventArgs e)
|
private void SettingsForm_FormClosing(object? sender, FormClosingEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.CloseReason == CloseReason.UserClosing)
|
if (e.CloseReason == CloseReason.UserClosing)
|
||||||
{
|
{
|
||||||
e.Cancel = true;
|
e.Cancel = true;
|
||||||
Hide();
|
HideAll();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1070,7 +1081,7 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
int setStatus = nvControl.SetClocks(gpu_core, gpu_memory);
|
int setStatus = nvControl.SetClocks(gpu_core, gpu_memory);
|
||||||
if (launchAsAdmin && setStatus == -1) Program.RunAsAdmin("gpu");
|
if (launchAsAdmin && setStatus == -1) ProcessHelper.RunAsAdmin("gpu");
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@@ -1295,7 +1306,9 @@ namespace GHelper
|
|||||||
|
|
||||||
public void AutoKeyboard()
|
public void AutoKeyboard()
|
||||||
{
|
{
|
||||||
InputDispatcher.SetBacklight(true);
|
InputDispatcher.SetBacklightAuto(true);
|
||||||
|
if (AppConfig.ContainsModel("X16") || AppConfig.ContainsModel("X13")) InputDispatcher.TabletMode();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AutoPerformance()
|
public void AutoPerformance()
|
||||||
@@ -1463,8 +1476,9 @@ namespace GHelper
|
|||||||
|
|
||||||
if (eco < 0)
|
if (eco < 0)
|
||||||
{
|
{
|
||||||
tableGPU.Visible = false;
|
isGpuSection = tableGPU.Visible = false;
|
||||||
if (Program.acpi.DeviceGet(AsusACPI.GPU_Fan) < 0) panelGPU.Visible = false;
|
SetContextMenu();
|
||||||
|
if (HardwareControl.FormatFan(Program.acpi.DeviceGet(AsusACPI.GPU_Fan)) is null) panelGPU.Visible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1495,9 +1509,9 @@ namespace GHelper
|
|||||||
if (dialogResult == DialogResult.No) return;
|
if (dialogResult == DialogResult.No) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Program.RunAsAdmin("gpurestart");
|
ProcessHelper.RunAsAdmin("gpurestart");
|
||||||
|
|
||||||
if (!Program.IsUserAdministrator()) return;
|
if (!ProcessHelper.IsUserAdministrator()) return;
|
||||||
|
|
||||||
Logger.WriteLine("Trying to restart dGPU");
|
Logger.WriteLine("Trying to restart dGPU");
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ public class Startup
|
|||||||
|
|
||||||
public static void ReScheduleAdmin()
|
public static void ReScheduleAdmin()
|
||||||
{
|
{
|
||||||
if (Program.IsUserAdministrator() && IsScheduled())
|
if (ProcessHelper.IsUserAdministrator() && IsScheduled())
|
||||||
{
|
{
|
||||||
UnSchedule();
|
UnSchedule();
|
||||||
Schedule();
|
Schedule();
|
||||||
@@ -38,7 +38,7 @@ public class Startup
|
|||||||
td.Triggers.Add(new LogonTrigger { UserId = userId });
|
td.Triggers.Add(new LogonTrigger { UserId = userId });
|
||||||
td.Actions.Add(strExeFilePath);
|
td.Actions.Add(strExeFilePath);
|
||||||
|
|
||||||
if (Program.IsUserAdministrator())
|
if (ProcessHelper.IsUserAdministrator())
|
||||||
td.Principal.RunLevel = TaskRunLevel.Highest;
|
td.Principal.RunLevel = TaskRunLevel.Highest;
|
||||||
|
|
||||||
td.Settings.StopIfGoingOnBatteries = false;
|
td.Settings.StopIfGoingOnBatteries = false;
|
||||||
@@ -54,10 +54,10 @@ public class Startup
|
|||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
if (Program.IsUserAdministrator())
|
if (ProcessHelper.IsUserAdministrator())
|
||||||
MessageBox.Show("Can't create a start up task. Try running Task Scheduler by hand and manually deleting GHelper task if it exists there.", "Scheduler Error", MessageBoxButtons.OK);
|
MessageBox.Show("Can't create a start up task. Try running Task Scheduler by hand and manually deleting GHelper task if it exists there.", "Scheduler Error", MessageBoxButtons.OK);
|
||||||
else
|
else
|
||||||
Program.RunAsAdmin();
|
ProcessHelper.RunAsAdmin();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -73,10 +73,10 @@ public class Startup
|
|||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
if (Program.IsUserAdministrator())
|
if (ProcessHelper.IsUserAdministrator())
|
||||||
MessageBox.Show("Can't remove task. Try running Task Scheduler by hand and manually deleting GHelper task if it exists there.", "Scheduler Error", MessageBoxButtons.OK);
|
MessageBox.Show("Can't remove task. Try running Task Scheduler by hand and manually deleting GHelper task if it exists there.", "Scheduler Error", MessageBoxButtons.OK);
|
||||||
else
|
else
|
||||||
Program.RunAsAdmin();
|
ProcessHelper.RunAsAdmin();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
# G-Helper (GHelper)
|
# G-Helper (GHelper)
|
||||||
[](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/stargazers/)
|
[](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/stargazers/)
|
||||||
|
|
||||||
|
[](https://u24.gov.ua/)
|
||||||
|
|
||||||
Language: English | [中文](https://github.com/seerge/g-helper/blob/main/docs/README.zh-CN.md)
|
Language: English | [中文](https://github.com/seerge/g-helper/blob/main/docs/README.zh-CN.md)
|
||||||
|
|
||||||
## Control tool for Asus laptops
|
## Control tool for Asus laptops
|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
[](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/stargazers/)
|
[](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/releases/) [](https://GitHub.com/seerge/g-helper/stargazers/)
|
||||||
|
|
||||||
|
[](https://u24.gov.ua/)
|
||||||
|
|
||||||
语言: [English](https://github.com/seerge/g-helper#readme) | 中文
|
语言: [English](https://github.com/seerge/g-helper#readme) | 中文
|
||||||
|
|
||||||
## 为ASUS笔记本打造的、Armoury Crate(奥创控制中心)的轻量化替代品
|
## 为ASUS笔记本打造的、Armoury Crate(奥创控制中心)的轻量化替代品
|
||||||
|
|||||||
BIN
docs/ua.png
Normal file
BIN
docs/ua.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
Reference in New Issue
Block a user