mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8e1099545a | ||
|
|
7740678cd4 | ||
|
|
c6faec9628 | ||
|
|
3a5c4de9b6 | ||
|
|
f90fec24b9 | ||
|
|
240537dbd4 | ||
|
|
cc3c16cdf1 | ||
|
|
a7c662a0d4 | ||
|
|
b0958cb2fc | ||
|
|
29f27ed4d6 |
@@ -1,14 +1,10 @@
|
|||||||
// Source thanks to https://github.com/vddCore/Starlight with some adjustments from me
|
// Source thanks to https://github.com/vddCore/Starlight with some adjustments from me
|
||||||
|
|
||||||
using Starlight.Communication;
|
using Starlight.Communication;
|
||||||
using System.Management;
|
|
||||||
using System.Drawing.Drawing2D;
|
using System.Drawing.Drawing2D;
|
||||||
using System.Text;
|
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System;
|
using System.Management;
|
||||||
using System.Drawing;
|
using System.Text;
|
||||||
using OSD;
|
|
||||||
using System.Diagnostics;
|
|
||||||
|
|
||||||
namespace Starlight.AnimeMatrix
|
namespace Starlight.AnimeMatrix
|
||||||
{
|
{
|
||||||
@@ -331,7 +327,7 @@ namespace Starlight.AnimeMatrix
|
|||||||
int second = DateTime.Now.Second;
|
int second = DateTime.Now.Second;
|
||||||
|
|
||||||
if (CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern.Contains("H"))
|
if (CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern.Contains("H"))
|
||||||
PresentTextDiagonal(DateTime.Now.ToString("H" + ((second % 2 == 0)?":":" ") + "mm"));
|
PresentTextDiagonal(DateTime.Now.ToString("H" + ((second % 2 == 0) ? ":" : " ") + "mm"));
|
||||||
else
|
else
|
||||||
PresentTextDiagonal(DateTime.Now.ToString("h" + ((second % 2 == 0) ? ":" : " ") + "mmtt"));
|
PresentTextDiagonal(DateTime.Now.ToString("h" + ((second % 2 == 0) ? ":" : " ") + "mmtt"));
|
||||||
}
|
}
|
||||||
@@ -348,14 +344,14 @@ namespace Starlight.AnimeMatrix
|
|||||||
using (Font font = new Font("Arial", 24F, GraphicsUnit.Pixel))
|
using (Font font = new Font("Arial", 24F, GraphicsUnit.Pixel))
|
||||||
{
|
{
|
||||||
SizeF textSize = g.MeasureString(text1, font);
|
SizeF textSize = g.MeasureString(text1, font);
|
||||||
g.DrawString(text1, font, Brushes.White, (MaxColumns*3 - textSize.Width)+3, -3);
|
g.DrawString(text1, font, Brushes.White, (MaxColumns * 3 - textSize.Width) + 3, -3);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (text2.Length > 0)
|
if (text2.Length > 0)
|
||||||
using (Font font = new Font("Arial", 18F, GraphicsUnit.Pixel))
|
using (Font font = new Font("Arial", 18F, GraphicsUnit.Pixel))
|
||||||
{
|
{
|
||||||
SizeF textSize = g.MeasureString(text2, font);
|
SizeF textSize = g.MeasureString(text2, font);
|
||||||
g.DrawString(text2, font, Brushes.White, (MaxColumns * 3 - textSize.Width)+1, 25);
|
g.DrawString(text2, font, Brushes.White, (MaxColumns * 3 - textSize.Width) + 1, 25);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -369,7 +365,7 @@ namespace Starlight.AnimeMatrix
|
|||||||
public void GenerateFrame(Image image, InterpolationMode interpolation = InterpolationMode.High)
|
public void GenerateFrame(Image image, InterpolationMode interpolation = InterpolationMode.High)
|
||||||
{
|
{
|
||||||
|
|
||||||
int width = MaxColumns/2 * 6;
|
int width = MaxColumns / 2 * 6;
|
||||||
int height = MaxRows;
|
int height = MaxRows;
|
||||||
|
|
||||||
int targetWidth = MaxColumns * 2;
|
int targetWidth = MaxColumns * 2;
|
||||||
@@ -396,7 +392,7 @@ namespace Starlight.AnimeMatrix
|
|||||||
for (int y = 0; y < bmp.Height; y++)
|
for (int y = 0; y < bmp.Height; y++)
|
||||||
{
|
{
|
||||||
for (int x = 0; x < bmp.Width; x++)
|
for (int x = 0; x < bmp.Width; x++)
|
||||||
if (x % 2 == (y+dx) % 2)
|
if (x % 2 == (y + dx) % 2)
|
||||||
{
|
{
|
||||||
var pixel = bmp.GetPixel(x, y);
|
var pixel = bmp.GetPixel(x, y);
|
||||||
var color = (pixel.R + pixel.G + pixel.B) / 3;
|
var color = (pixel.R + pixel.G + pixel.B) / 3;
|
||||||
@@ -411,9 +407,9 @@ namespace Starlight.AnimeMatrix
|
|||||||
public void SetLedDiagonal(int x, int y, byte color, int delta = 10)
|
public void SetLedDiagonal(int x, int y, byte color, int delta = 10)
|
||||||
{
|
{
|
||||||
//x+=delta;
|
//x+=delta;
|
||||||
y-=delta;
|
y -= delta;
|
||||||
|
|
||||||
int dx = (x - y)/2;
|
int dx = (x - y) / 2;
|
||||||
int dy = x + y;
|
int dy = x + y;
|
||||||
SetLedPlanar(dx, dy, color);
|
SetLedPlanar(dx, dy, color);
|
||||||
}
|
}
|
||||||
@@ -442,11 +438,11 @@ namespace Starlight.AnimeMatrix
|
|||||||
for (int y = 0; y < bmp.Height; y++)
|
for (int y = 0; y < bmp.Height; y++)
|
||||||
{
|
{
|
||||||
for (int x = 0; x < bmp.Width; x++)
|
for (int x = 0; x < bmp.Width; x++)
|
||||||
{
|
{
|
||||||
var pixel = bmp.GetPixel(x, y);
|
var pixel = bmp.GetPixel(x, y);
|
||||||
var color = (pixel.R + pixel.G + pixel.B) / 3;
|
var color = (pixel.R + pixel.G + pixel.B) / 3;
|
||||||
SetLedDiagonal(x, y, (byte)color);
|
SetLedDiagonal(x, y, (byte)color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
44
app/Aura.cs
44
app/Aura.cs
@@ -208,25 +208,37 @@ namespace GHelper
|
|||||||
|
|
||||||
List<AuraDev19b6> flags = new List<AuraDev19b6>();
|
List<AuraDev19b6> flags = new List<AuraDev19b6>();
|
||||||
|
|
||||||
if (awake) flags.Add(AuraDev19b6.AwakeKeyb);
|
if (awake)
|
||||||
if (boot) flags.Add(AuraDev19b6.BootKeyb);
|
{
|
||||||
if (sleep) flags.Add(AuraDev19b6.SleepKeyb);
|
flags.Add(AuraDev19b6.AwakeKeyb);
|
||||||
if (shutdown) flags.Add(AuraDev19b6.ShutdownKeyb);
|
flags.Add(AuraDev19b6.AwakeBar);
|
||||||
|
flags.Add(AuraDev19b6.AwakeLid);
|
||||||
|
flags.Add(AuraDev19b6.AwakeLogo);
|
||||||
|
}
|
||||||
|
|
||||||
flags.Add(AuraDev19b6.AwakeBar);
|
if (boot)
|
||||||
flags.Add(AuraDev19b6.BootBar);
|
{
|
||||||
flags.Add(AuraDev19b6.SleepBar);
|
flags.Add(AuraDev19b6.BootKeyb);
|
||||||
flags.Add(AuraDev19b6.ShutdownBar);
|
flags.Add(AuraDev19b6.BootBar);
|
||||||
|
flags.Add(AuraDev19b6.BootLid);
|
||||||
|
flags.Add(AuraDev19b6.BootLogo);
|
||||||
|
}
|
||||||
|
|
||||||
flags.Add(AuraDev19b6.AwakeLid);
|
if (sleep)
|
||||||
flags.Add(AuraDev19b6.BootLid);
|
{
|
||||||
flags.Add(AuraDev19b6.SleepLid);
|
flags.Add(AuraDev19b6.SleepKeyb);
|
||||||
flags.Add(AuraDev19b6.ShutdownLid);
|
flags.Add(AuraDev19b6.SleepBar);
|
||||||
|
flags.Add(AuraDev19b6.SleepLid);
|
||||||
|
flags.Add(AuraDev19b6.SleepLogo);
|
||||||
|
}
|
||||||
|
|
||||||
flags.Add(AuraDev19b6.AwakeLogo);
|
if (shutdown)
|
||||||
flags.Add(AuraDev19b6.BootLogo);
|
{
|
||||||
flags.Add(AuraDev19b6.SleepLogo);
|
flags.Add(AuraDev19b6.ShutdownKeyb);
|
||||||
flags.Add(AuraDev19b6.ShutdownLogo);
|
flags.Add(AuraDev19b6.ShutdownBar);
|
||||||
|
flags.Add(AuraDev19b6.ShutdownLid);
|
||||||
|
flags.Add(AuraDev19b6.ShutdownLogo);
|
||||||
|
}
|
||||||
|
|
||||||
byte[] msg = AuraDev19b6Extensions.ToBytes(flags.ToArray());
|
byte[] msg = AuraDev19b6Extensions.ToBytes(flags.ToArray());
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
using CustomControls;
|
using CustomControls;
|
||||||
using WinFormsSliderBar;
|
|
||||||
using System.Drawing.Drawing2D;
|
using System.Drawing.Drawing2D;
|
||||||
using System.Windows.Forms.DataVisualization.Charting;
|
using System.Windows.Forms.DataVisualization.Charting;
|
||||||
|
using WinFormsSliderBar;
|
||||||
|
|
||||||
public static class ControlHelper
|
public static class ControlHelper
|
||||||
{
|
{
|
||||||
@@ -86,7 +86,7 @@ public static class ControlHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
var sl = control as Slider;
|
var sl = control as Slider;
|
||||||
if (sl != null)
|
if (sl != null)
|
||||||
{
|
{
|
||||||
sl.borderColor = RForm.buttonMain;
|
sl.borderColor = RForm.buttonMain;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,11 @@ namespace CustomControls
|
|||||||
|
|
||||||
public bool darkTheme = false;
|
public bool darkTheme = false;
|
||||||
|
|
||||||
|
public RForm()
|
||||||
|
{
|
||||||
|
DoubleBuffered = true;
|
||||||
|
}
|
||||||
|
|
||||||
public static void InitColors(bool darkTheme)
|
public static void InitColors(bool darkTheme)
|
||||||
{
|
{
|
||||||
if (darkTheme)
|
if (darkTheme)
|
||||||
@@ -97,7 +102,7 @@ namespace CustomControls
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public class RComboBox : ComboBox
|
public class RComboBox : ComboBox
|
||||||
{
|
{
|
||||||
private Color borderColor = Color.Gray;
|
private Color borderColor = Color.Gray;
|
||||||
[DefaultValue(typeof(Color), "Gray")]
|
[DefaultValue(typeof(Color), "Gray")]
|
||||||
@@ -332,8 +337,9 @@ namespace CustomControls
|
|||||||
|
|
||||||
public RButton()
|
public RButton()
|
||||||
{
|
{
|
||||||
this.FlatStyle = FlatStyle.Flat;
|
DoubleBuffered = true;
|
||||||
this.FlatAppearance.BorderSize = 0;
|
FlatStyle = FlatStyle.Flat;
|
||||||
|
FlatAppearance.BorderSize = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
private GraphicsPath GetFigurePath(Rectangle rect, int radius)
|
private GraphicsPath GetFigurePath(Rectangle rect, int radius)
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ namespace GHelper
|
|||||||
{"screenshot", Properties.Strings.PrintScreen},
|
{"screenshot", Properties.Strings.PrintScreen},
|
||||||
{"play", Properties.Strings.PlayPause},
|
{"play", Properties.Strings.PlayPause},
|
||||||
{"aura", Properties.Strings.ToggleAura},
|
{"aura", Properties.Strings.ToggleAura},
|
||||||
{"ghelper", Properties.Strings.OpenGHelper},
|
{"performance", Properties.Strings.PerformanceMode},
|
||||||
{"screen", Properties.Strings.ToggleScreen},
|
{"screen", Properties.Strings.ToggleScreen},
|
||||||
{"miniled", Properties.Strings.ToggleMiniled},
|
{"miniled", Properties.Strings.ToggleMiniled},
|
||||||
{"custom", Properties.Strings.Custom}
|
{"custom", Properties.Strings.Custom}
|
||||||
@@ -22,7 +22,7 @@ namespace GHelper
|
|||||||
private void SetKeyCombo(ComboBox combo, TextBox txbox, string name)
|
private void SetKeyCombo(ComboBox combo, TextBox txbox, string name)
|
||||||
{
|
{
|
||||||
if (name == "m4")
|
if (name == "m4")
|
||||||
customActions[""] = Properties.Strings.PerformanceMode;
|
customActions[""] = Properties.Strings.OpenGHelper;
|
||||||
|
|
||||||
if (name == "fnf4")
|
if (name == "fnf4")
|
||||||
{
|
{
|
||||||
|
|||||||
87
app/Fans.Designer.cs
generated
87
app/Fans.Designer.cs
generated
@@ -31,12 +31,12 @@ namespace GHelper
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
ChartArea chartArea1 = new ChartArea();
|
ChartArea chartArea4 = new ChartArea();
|
||||||
Title title1 = new Title();
|
Title title4 = new Title();
|
||||||
ChartArea chartArea2 = new ChartArea();
|
ChartArea chartArea5 = new ChartArea();
|
||||||
Title title2 = new Title();
|
Title title5 = new Title();
|
||||||
ChartArea chartArea3 = new ChartArea();
|
ChartArea chartArea6 = new ChartArea();
|
||||||
Title title3 = new Title();
|
Title title6 = new Title();
|
||||||
panelFans = new Panel();
|
panelFans = new Panel();
|
||||||
labelFansResult = new Label();
|
labelFansResult = new Label();
|
||||||
labelTip = new Label();
|
labelTip = new Label();
|
||||||
@@ -60,7 +60,7 @@ namespace GHelper
|
|||||||
trackCPU = new TrackBar();
|
trackCPU = new TrackBar();
|
||||||
panelTotal = new Panel();
|
panelTotal = new Panel();
|
||||||
labelTotal = new Label();
|
labelTotal = new Label();
|
||||||
label1 = new Label();
|
labelPlatform = new Label();
|
||||||
trackTotal = new TrackBar();
|
trackTotal = new TrackBar();
|
||||||
pictureFine = new PictureBox();
|
pictureFine = new PictureBox();
|
||||||
labelInfo = new Label();
|
labelInfo = new Label();
|
||||||
@@ -105,7 +105,7 @@ namespace GHelper
|
|||||||
panelFans.Controls.Add(checkApplyFans);
|
panelFans.Controls.Add(checkApplyFans);
|
||||||
panelFans.Controls.Add(buttonReset);
|
panelFans.Controls.Add(buttonReset);
|
||||||
panelFans.Dock = DockStyle.Left;
|
panelFans.Dock = DockStyle.Left;
|
||||||
panelFans.Location = new Point(711, 0);
|
panelFans.Location = new Point(364, 0);
|
||||||
panelFans.Margin = new Padding(0);
|
panelFans.Margin = new Padding(0);
|
||||||
panelFans.Name = "panelFans";
|
panelFans.Name = "panelFans";
|
||||||
panelFans.Padding = new Padding(10);
|
panelFans.Padding = new Padding(10);
|
||||||
@@ -142,7 +142,7 @@ namespace GHelper
|
|||||||
labelBoost.Name = "labelBoost";
|
labelBoost.Name = "labelBoost";
|
||||||
labelBoost.Size = new Size(125, 32);
|
labelBoost.Size = new Size(125, 32);
|
||||||
labelBoost.TabIndex = 39;
|
labelBoost.TabIndex = 39;
|
||||||
labelBoost.Text = Properties.Strings.CPUBoost;
|
labelBoost.Text = "CPU Boost";
|
||||||
labelBoost.TextAlign = ContentAlignment.MiddleRight;
|
labelBoost.TextAlign = ContentAlignment.MiddleRight;
|
||||||
//
|
//
|
||||||
// comboBoost
|
// comboBoost
|
||||||
@@ -190,8 +190,8 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// chartGPU
|
// chartGPU
|
||||||
//
|
//
|
||||||
chartArea1.Name = "ChartArea1";
|
chartArea4.Name = "ChartArea1";
|
||||||
chartGPU.ChartAreas.Add(chartArea1);
|
chartGPU.ChartAreas.Add(chartArea4);
|
||||||
chartGPU.Dock = DockStyle.Fill;
|
chartGPU.Dock = DockStyle.Fill;
|
||||||
chartGPU.Location = new Point(2, 350);
|
chartGPU.Location = new Point(2, 350);
|
||||||
chartGPU.Margin = new Padding(2, 10, 2, 10);
|
chartGPU.Margin = new Padding(2, 10, 2, 10);
|
||||||
@@ -199,13 +199,13 @@ namespace GHelper
|
|||||||
chartGPU.Size = new Size(760, 320);
|
chartGPU.Size = new Size(760, 320);
|
||||||
chartGPU.TabIndex = 17;
|
chartGPU.TabIndex = 17;
|
||||||
chartGPU.Text = "chartGPU";
|
chartGPU.Text = "chartGPU";
|
||||||
title1.Name = "Title1";
|
title4.Name = "Title1";
|
||||||
chartGPU.Titles.Add(title1);
|
chartGPU.Titles.Add(title4);
|
||||||
//
|
//
|
||||||
// chartCPU
|
// chartCPU
|
||||||
//
|
//
|
||||||
chartArea2.Name = "ChartArea1";
|
chartArea5.Name = "ChartArea1";
|
||||||
chartCPU.ChartAreas.Add(chartArea2);
|
chartCPU.ChartAreas.Add(chartArea5);
|
||||||
chartCPU.Dock = DockStyle.Fill;
|
chartCPU.Dock = DockStyle.Fill;
|
||||||
chartCPU.Location = new Point(2, 10);
|
chartCPU.Location = new Point(2, 10);
|
||||||
chartCPU.Margin = new Padding(2, 10, 2, 10);
|
chartCPU.Margin = new Padding(2, 10, 2, 10);
|
||||||
@@ -213,13 +213,13 @@ namespace GHelper
|
|||||||
chartCPU.Size = new Size(760, 320);
|
chartCPU.Size = new Size(760, 320);
|
||||||
chartCPU.TabIndex = 14;
|
chartCPU.TabIndex = 14;
|
||||||
chartCPU.Text = "chartCPU";
|
chartCPU.Text = "chartCPU";
|
||||||
title2.Name = "Title1";
|
title5.Name = "Title1";
|
||||||
chartCPU.Titles.Add(title2);
|
chartCPU.Titles.Add(title5);
|
||||||
//
|
//
|
||||||
// chartMid
|
// chartMid
|
||||||
//
|
//
|
||||||
chartArea3.Name = "ChartArea3";
|
chartArea6.Name = "ChartArea3";
|
||||||
chartMid.ChartAreas.Add(chartArea3);
|
chartMid.ChartAreas.Add(chartArea6);
|
||||||
chartMid.Dock = DockStyle.Fill;
|
chartMid.Dock = DockStyle.Fill;
|
||||||
chartMid.Location = new Point(2, 690);
|
chartMid.Location = new Point(2, 690);
|
||||||
chartMid.Margin = new Padding(2, 10, 2, 10);
|
chartMid.Margin = new Padding(2, 10, 2, 10);
|
||||||
@@ -227,8 +227,8 @@ namespace GHelper
|
|||||||
chartMid.Size = new Size(760, 322);
|
chartMid.Size = new Size(760, 322);
|
||||||
chartMid.TabIndex = 14;
|
chartMid.TabIndex = 14;
|
||||||
chartMid.Text = "chartMid";
|
chartMid.Text = "chartMid";
|
||||||
title3.Name = "Title3";
|
title6.Name = "Title3";
|
||||||
chartMid.Titles.Add(title3);
|
chartMid.Titles.Add(title6);
|
||||||
chartMid.Visible = false;
|
chartMid.Visible = false;
|
||||||
//
|
//
|
||||||
// labelFans
|
// labelFans
|
||||||
@@ -283,7 +283,7 @@ namespace GHelper
|
|||||||
panelPower.Controls.Add(pictureFine);
|
panelPower.Controls.Add(pictureFine);
|
||||||
panelPower.Controls.Add(labelInfo);
|
panelPower.Controls.Add(labelInfo);
|
||||||
panelPower.Dock = DockStyle.Left;
|
panelPower.Dock = DockStyle.Left;
|
||||||
panelPower.Location = new Point(347, 0);
|
panelPower.Location = new Point(0, 0);
|
||||||
panelPower.Margin = new Padding(10);
|
panelPower.Margin = new Padding(10);
|
||||||
panelPower.Name = "panelPower";
|
panelPower.Name = "panelPower";
|
||||||
panelPower.Padding = new Padding(10);
|
panelPower.Padding = new Padding(10);
|
||||||
@@ -311,7 +311,7 @@ namespace GHelper
|
|||||||
labelPowerLimits.Name = "labelPowerLimits";
|
labelPowerLimits.Name = "labelPowerLimits";
|
||||||
labelPowerLimits.Size = new Size(229, 32);
|
labelPowerLimits.Size = new Size(229, 32);
|
||||||
labelPowerLimits.TabIndex = 26;
|
labelPowerLimits.TabIndex = 26;
|
||||||
labelPowerLimits.Text = Properties.Strings.PowerLimits;
|
labelPowerLimits.Text = "Power Limits (PPT)";
|
||||||
//
|
//
|
||||||
// checkApplyPower
|
// checkApplyPower
|
||||||
//
|
//
|
||||||
@@ -376,7 +376,7 @@ namespace GHelper
|
|||||||
// panelTotal
|
// panelTotal
|
||||||
//
|
//
|
||||||
panelTotal.Controls.Add(labelTotal);
|
panelTotal.Controls.Add(labelTotal);
|
||||||
panelTotal.Controls.Add(label1);
|
panelTotal.Controls.Add(labelPlatform);
|
||||||
panelTotal.Controls.Add(trackTotal);
|
panelTotal.Controls.Add(trackTotal);
|
||||||
panelTotal.Location = new Point(16, 72);
|
panelTotal.Location = new Point(16, 72);
|
||||||
panelTotal.Margin = new Padding(4);
|
panelTotal.Margin = new Padding(4);
|
||||||
@@ -395,16 +395,16 @@ namespace GHelper
|
|||||||
labelTotal.Text = "Platform";
|
labelTotal.Text = "Platform";
|
||||||
labelTotal.TextAlign = ContentAlignment.MiddleCenter;
|
labelTotal.TextAlign = ContentAlignment.MiddleCenter;
|
||||||
//
|
//
|
||||||
// label1
|
// labelPlatform
|
||||||
//
|
//
|
||||||
label1.AutoSize = true;
|
labelPlatform.AutoSize = true;
|
||||||
label1.Location = new Point(26, 8);
|
labelPlatform.Location = new Point(26, 8);
|
||||||
label1.Margin = new Padding(4, 0, 4, 0);
|
labelPlatform.Margin = new Padding(4, 0, 4, 0);
|
||||||
label1.Name = "label1";
|
labelPlatform.Name = "labelPlatform";
|
||||||
label1.Size = new Size(104, 32);
|
labelPlatform.Size = new Size(104, 32);
|
||||||
label1.TabIndex = 11;
|
labelPlatform.TabIndex = 11;
|
||||||
label1.Text = "Platform";
|
labelPlatform.Text = "Platform";
|
||||||
label1.TextAlign = ContentAlignment.MiddleCenter;
|
labelPlatform.TextAlign = ContentAlignment.MiddleCenter;
|
||||||
//
|
//
|
||||||
// trackTotal
|
// trackTotal
|
||||||
//
|
//
|
||||||
@@ -455,7 +455,7 @@ namespace GHelper
|
|||||||
panelGPU.Controls.Add(trackGPUCore);
|
panelGPU.Controls.Add(trackGPUCore);
|
||||||
panelGPU.Controls.Add(labelGPUCoreTitle);
|
panelGPU.Controls.Add(labelGPUCoreTitle);
|
||||||
panelGPU.Dock = DockStyle.Left;
|
panelGPU.Dock = DockStyle.Left;
|
||||||
panelGPU.Location = new Point(0, 0);
|
panelGPU.Location = new Point(1188, 0);
|
||||||
panelGPU.Name = "panelGPU";
|
panelGPU.Name = "panelGPU";
|
||||||
panelGPU.Size = new Size(347, 1189);
|
panelGPU.Size = new Size(347, 1189);
|
||||||
panelGPU.TabIndex = 14;
|
panelGPU.TabIndex = 14;
|
||||||
@@ -494,14 +494,12 @@ namespace GHelper
|
|||||||
trackGPUMemory.Location = new Point(216, 160);
|
trackGPUMemory.Location = new Point(216, 160);
|
||||||
trackGPUMemory.Margin = new Padding(4, 2, 4, 2);
|
trackGPUMemory.Margin = new Padding(4, 2, 4, 2);
|
||||||
trackGPUMemory.Maximum = 300;
|
trackGPUMemory.Maximum = 300;
|
||||||
trackGPUMemory.Minimum = 0;
|
|
||||||
trackGPUMemory.Name = "trackGPUMemory";
|
trackGPUMemory.Name = "trackGPUMemory";
|
||||||
trackGPUMemory.Orientation = Orientation.Vertical;
|
trackGPUMemory.Orientation = Orientation.Vertical;
|
||||||
trackGPUMemory.Size = new Size(90, 454);
|
trackGPUMemory.Size = new Size(90, 454);
|
||||||
trackGPUMemory.SmallChange = 10;
|
trackGPUMemory.SmallChange = 10;
|
||||||
trackGPUMemory.TabIndex = 41;
|
trackGPUMemory.TabIndex = 41;
|
||||||
trackGPUMemory.TickFrequency = 50;
|
trackGPUMemory.TickFrequency = 50;
|
||||||
trackGPUMemory.Value = 0;
|
|
||||||
//
|
//
|
||||||
// labelGPUMemoryTitle
|
// labelGPUMemoryTitle
|
||||||
//
|
//
|
||||||
@@ -554,7 +552,6 @@ namespace GHelper
|
|||||||
trackGPUCore.Location = new Point(48, 160);
|
trackGPUCore.Location = new Point(48, 160);
|
||||||
trackGPUCore.Margin = new Padding(4, 2, 4, 2);
|
trackGPUCore.Margin = new Padding(4, 2, 4, 2);
|
||||||
trackGPUCore.Maximum = 300;
|
trackGPUCore.Maximum = 300;
|
||||||
trackGPUCore.Minimum = 0;
|
|
||||||
trackGPUCore.Name = "trackGPUCore";
|
trackGPUCore.Name = "trackGPUCore";
|
||||||
trackGPUCore.Orientation = Orientation.Vertical;
|
trackGPUCore.Orientation = Orientation.Vertical;
|
||||||
trackGPUCore.RightToLeft = RightToLeft.No;
|
trackGPUCore.RightToLeft = RightToLeft.No;
|
||||||
@@ -563,7 +560,6 @@ namespace GHelper
|
|||||||
trackGPUCore.TabIndex = 17;
|
trackGPUCore.TabIndex = 17;
|
||||||
trackGPUCore.TickFrequency = 50;
|
trackGPUCore.TickFrequency = 50;
|
||||||
trackGPUCore.TickStyle = TickStyle.TopLeft;
|
trackGPUCore.TickStyle = TickStyle.TopLeft;
|
||||||
trackGPUCore.Value = 0;
|
|
||||||
//
|
//
|
||||||
// labelGPUCoreTitle
|
// labelGPUCoreTitle
|
||||||
//
|
//
|
||||||
@@ -572,13 +568,12 @@ namespace GHelper
|
|||||||
labelGPUCoreTitle.Name = "labelGPUCoreTitle";
|
labelGPUCoreTitle.Name = "labelGPUCoreTitle";
|
||||||
labelGPUCoreTitle.Size = new Size(129, 32);
|
labelGPUCoreTitle.Size = new Size(129, 32);
|
||||||
labelGPUCoreTitle.TabIndex = 16;
|
labelGPUCoreTitle.TabIndex = 16;
|
||||||
labelFansResult.Visible = false;
|
|
||||||
labelGPUCoreTitle.TextAlign = ContentAlignment.MiddleCenter;
|
|
||||||
labelGPUCoreTitle.Text = "Core Clock";
|
labelGPUCoreTitle.Text = "Core Clock";
|
||||||
//
|
labelGPUCoreTitle.TextAlign = ContentAlignment.MiddleCenter;
|
||||||
// Fans
|
//
|
||||||
//
|
// Fans
|
||||||
AutoScaleDimensions = new SizeF(192F, 192F);
|
//
|
||||||
|
AutoScaleDimensions = new SizeF(192F, 192F);
|
||||||
AutoScaleMode = AutoScaleMode.Dpi;
|
AutoScaleMode = AutoScaleMode.Dpi;
|
||||||
AutoSize = true;
|
AutoSize = true;
|
||||||
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
@@ -595,7 +590,7 @@ namespace GHelper
|
|||||||
ShowIcon = false;
|
ShowIcon = false;
|
||||||
ShowInTaskbar = false;
|
ShowInTaskbar = false;
|
||||||
StartPosition = FormStartPosition.CenterScreen;
|
StartPosition = FormStartPosition.CenterScreen;
|
||||||
Text = Properties.Strings.FansAndPower;
|
Text = "Fans and Power";
|
||||||
panelFans.ResumeLayout(false);
|
panelFans.ResumeLayout(false);
|
||||||
panelFans.PerformLayout();
|
panelFans.PerformLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)picturePerf).EndInit();
|
((System.ComponentModel.ISupportInitialize)picturePerf).EndInit();
|
||||||
@@ -633,7 +628,7 @@ namespace GHelper
|
|||||||
private TrackBar trackCPU;
|
private TrackBar trackCPU;
|
||||||
private Panel panelTotal;
|
private Panel panelTotal;
|
||||||
private Label labelTotal;
|
private Label labelTotal;
|
||||||
private Label label1;
|
private Label labelPlatform;
|
||||||
private TrackBar trackTotal;
|
private TrackBar trackTotal;
|
||||||
private PictureBox pictureFine;
|
private PictureBox pictureFine;
|
||||||
private Label labelInfo;
|
private Label labelInfo;
|
||||||
|
|||||||
28
app/Fans.cs
28
app/Fans.cs
@@ -1,7 +1,6 @@
|
|||||||
using System.Diagnostics;
|
using CustomControls;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.Windows.Forms.DataVisualization.Charting;
|
using System.Windows.Forms.DataVisualization.Charting;
|
||||||
using CustomControls;
|
|
||||||
using GHelper.Gpu;
|
|
||||||
|
|
||||||
namespace GHelper
|
namespace GHelper
|
||||||
{
|
{
|
||||||
@@ -18,13 +17,21 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
|
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
|
Text = Properties.Strings.FansAndPower;
|
||||||
|
labelPowerLimits.Text = Properties.Strings.PowerLimits;
|
||||||
|
labelInfo.Text = Properties.Strings.PPTExperimental;
|
||||||
|
checkApplyPower.Text = Properties.Strings.ApplyPowerLimits;
|
||||||
|
|
||||||
|
labelFans.Text = Properties.Strings.FanCurves;
|
||||||
|
labelBoost.Text = Properties.Strings.CPUBoost;
|
||||||
|
buttonReset.Text = Properties.Strings.FactoryDefaults;
|
||||||
|
checkApplyFans.Text = Properties.Strings.ApplyFanCurve;
|
||||||
|
|
||||||
InitTheme();
|
InitTheme();
|
||||||
|
|
||||||
MinRPM = 18;
|
MinRPM = 18;
|
||||||
MaxRPM = HardwareMonitor.GetFanMax();
|
MaxRPM = HardwareMonitor.GetFanMax();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
labelTip.Visible = false;
|
labelTip.Visible = false;
|
||||||
labelTip.BackColor = Color.Transparent;
|
labelTip.BackColor = Color.Transparent;
|
||||||
|
|
||||||
@@ -71,6 +78,7 @@ namespace GHelper
|
|||||||
|
|
||||||
//labelInfo.MaximumSize = new Size(280, 0);
|
//labelInfo.MaximumSize = new Size(280, 0);
|
||||||
labelInfo.Text = Properties.Strings.PPTExperimental;
|
labelInfo.Text = Properties.Strings.PPTExperimental;
|
||||||
|
labelFansResult.Visible = false;
|
||||||
|
|
||||||
InitFans();
|
InitFans();
|
||||||
InitPower();
|
InitPower();
|
||||||
@@ -86,6 +94,7 @@ namespace GHelper
|
|||||||
|
|
||||||
private void InitGPUClocks()
|
private void InitGPUClocks()
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
using (var _gpuControl = new NvidiaGpuControl())
|
using (var _gpuControl = new NvidiaGpuControl())
|
||||||
@@ -100,6 +109,9 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
panelGPU.Visible=false;
|
panelGPU.Visible=false;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
panelGPU.Visible = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -271,7 +283,7 @@ namespace GHelper
|
|||||||
public void LabelFansResult(string text)
|
public void LabelFansResult(string text)
|
||||||
{
|
{
|
||||||
labelFansResult.Text = text;
|
labelFansResult.Text = text;
|
||||||
labelFansResult.Visible = (text.Length == 0);
|
labelFansResult.Visible = (text.Length > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Fans_FormClosing(object? sender, FormClosingEventArgs e)
|
private void Fans_FormClosing(object? sender, FormClosingEventArgs e)
|
||||||
@@ -298,7 +310,7 @@ namespace GHelper
|
|||||||
// Yes, that's stupid, but Total slider on 2021 model actually adjusts CPU PPT
|
// Yes, that's stupid, but Total slider on 2021 model actually adjusts CPU PPT
|
||||||
if (!cpuBmode)
|
if (!cpuBmode)
|
||||||
{
|
{
|
||||||
label1.Text = "CPU SPPT";
|
labelPlatform.Text = "CPU SPPT";
|
||||||
}
|
}
|
||||||
|
|
||||||
int limit_total;
|
int limit_total;
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||||
<AssemblyVersion>0.56</AssemblyVersion>
|
<AssemblyVersion>0.57</AssemblyVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
|
|||||||
@@ -155,14 +155,16 @@ public static class HardwareMonitor
|
|||||||
}
|
}
|
||||||
|
|
||||||
_gpuControl.Dispose();
|
_gpuControl.Dispose();
|
||||||
|
|
||||||
|
/*
|
||||||
_gpuControl = new AmdGpuControl();
|
_gpuControl = new AmdGpuControl();
|
||||||
if (_gpuControl.IsValid)
|
if (_gpuControl.IsValid)
|
||||||
{
|
{
|
||||||
GpuControl = _gpuControl;
|
GpuControl = _gpuControl;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
_gpuControl.Dispose();
|
_gpuControl.Dispose();
|
||||||
|
*/
|
||||||
|
|
||||||
GpuControl = null;
|
GpuControl = null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,11 +3,43 @@ using System.Diagnostics;
|
|||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Management;
|
using System.Management;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
using System.Security.Principal;
|
using System.Security.Principal;
|
||||||
using Tools;
|
using Tools;
|
||||||
|
|
||||||
namespace GHelper
|
namespace GHelper
|
||||||
{
|
{
|
||||||
|
|
||||||
|
class CustomContextMenu : ContextMenuStrip
|
||||||
|
{
|
||||||
|
[DllImport("dwmapi.dll", CharSet = CharSet.Unicode, SetLastError = true)]
|
||||||
|
private static extern long DwmSetWindowAttribute(IntPtr hwnd,
|
||||||
|
DWMWINDOWATTRIBUTE attribute,
|
||||||
|
ref DWM_WINDOW_CORNER_PREFERENCE pvAttribute,
|
||||||
|
uint cbAttribute);
|
||||||
|
|
||||||
|
public CustomContextMenu()
|
||||||
|
{
|
||||||
|
var preference = DWM_WINDOW_CORNER_PREFERENCE.DWMWCP_ROUNDSMALL; //change as you want
|
||||||
|
DwmSetWindowAttribute(Handle,
|
||||||
|
DWMWINDOWATTRIBUTE.DWMWA_WINDOW_CORNER_PREFERENCE,
|
||||||
|
ref preference,
|
||||||
|
sizeof(uint));
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum DWMWINDOWATTRIBUTE
|
||||||
|
{
|
||||||
|
DWMWA_WINDOW_CORNER_PREFERENCE = 33
|
||||||
|
}
|
||||||
|
public enum DWM_WINDOW_CORNER_PREFERENCE
|
||||||
|
{
|
||||||
|
DWMWA_DEFAULT = 0,
|
||||||
|
DWMWCP_DONOTROUND = 1,
|
||||||
|
DWMWCP_ROUND = 2,
|
||||||
|
DWMWCP_ROUNDSMALL = 3,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static class Program
|
static class Program
|
||||||
{
|
{
|
||||||
public static NotifyIcon trayIcon = new NotifyIcon
|
public static NotifyIcon trayIcon = new NotifyIcon
|
||||||
@@ -82,7 +114,7 @@ namespace GHelper
|
|||||||
Thread.CurrentThread.CurrentUICulture = CultureInfo.CurrentUICulture;
|
Thread.CurrentThread.CurrentUICulture = CultureInfo.CurrentUICulture;
|
||||||
Debug.WriteLine(CultureInfo.CurrentUICulture);
|
Debug.WriteLine(CultureInfo.CurrentUICulture);
|
||||||
|
|
||||||
//Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("es");
|
//Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("zh");
|
||||||
|
|
||||||
CheckProcesses();
|
CheckProcesses();
|
||||||
|
|
||||||
@@ -142,10 +174,10 @@ namespace GHelper
|
|||||||
|
|
||||||
Application.Run();
|
Application.Run();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void SystemEvents_UserPreferenceChanged(object sender, UserPreferenceChangedEventArgs e)
|
static void SystemEvents_UserPreferenceChanged(object sender, UserPreferenceChangedEventArgs e)
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -173,7 +205,7 @@ namespace GHelper
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static void SetAutoModes(bool monitor = true)
|
public static void SetAutoModes()
|
||||||
{
|
{
|
||||||
|
|
||||||
if (Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastAuto) < 3000) return;
|
if (Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastAuto) < 3000) return;
|
||||||
@@ -185,8 +217,7 @@ namespace GHelper
|
|||||||
settingsForm.SetBatteryChargeLimit(config.getConfig("charge_limit"));
|
settingsForm.SetBatteryChargeLimit(config.getConfig("charge_limit"));
|
||||||
settingsForm.AutoPerformance();
|
settingsForm.AutoPerformance();
|
||||||
|
|
||||||
bool switched = false;
|
bool switched = settingsForm.AutoGPUMode();
|
||||||
if (monitor) switched = settingsForm.AutoGPUMode();
|
|
||||||
|
|
||||||
if (!switched)
|
if (!switched)
|
||||||
{
|
{
|
||||||
@@ -253,7 +284,7 @@ namespace GHelper
|
|||||||
if (action is null || action.Length <= 1)
|
if (action is null || action.Length <= 1)
|
||||||
{
|
{
|
||||||
if (name == "m4")
|
if (name == "m4")
|
||||||
action = "performance";
|
action = "ghelper";
|
||||||
if (name == "fnf4")
|
if (name == "fnf4")
|
||||||
action = "aura";
|
action = "aura";
|
||||||
}
|
}
|
||||||
@@ -338,10 +369,11 @@ namespace GHelper
|
|||||||
|
|
||||||
static void TrayIcon_MouseClick(object? sender, MouseEventArgs e)
|
static void TrayIcon_MouseClick(object? sender, MouseEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.Button == MouseButtons.Left || e.Button == MouseButtons.Right)
|
if (e.Button == MouseButtons.Left)
|
||||||
{
|
{
|
||||||
SettingsToggle();
|
SettingsToggle();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -330,6 +330,9 @@
|
|||||||
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
||||||
<value>Cambia a Eco con batería y a Estándar cuando está enchufado</value>
|
<value>Cambia a Eco con batería y a Estándar cuando está enchufado</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="OptimizedUSBC" xml:space="preserve">
|
||||||
|
<value>Deshabilitar dGPU con cargador USB-C en modo Optimizado</value>
|
||||||
|
</data>
|
||||||
<data name="Other" xml:space="preserve">
|
<data name="Other" xml:space="preserve">
|
||||||
<value>Otro</value>
|
<value>Otro</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -384,6 +387,12 @@
|
|||||||
<data name="ToggleAura" xml:space="preserve">
|
<data name="ToggleAura" xml:space="preserve">
|
||||||
<value>Alternar Aura</value>
|
<value>Alternar Aura</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="ToggleMiniled" xml:space="preserve">
|
||||||
|
<value>Alternar Miniled (si es compatible)</value>
|
||||||
|
</data>
|
||||||
|
<data name="ToggleScreen" xml:space="preserve">
|
||||||
|
<value>Alternar pantalla</value>
|
||||||
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Turbo</value>
|
<value>Turbo</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
175
app/Settings.cs
175
app/Settings.cs
@@ -1,11 +1,11 @@
|
|||||||
using CustomControls;
|
using CustomControls;
|
||||||
using Starlight.AnimeMatrix;
|
using Starlight.AnimeMatrix;
|
||||||
|
using System;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Drawing.Imaging;
|
using System.Drawing.Imaging;
|
||||||
using System.Globalization;
|
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
using System.Threading;
|
|
||||||
using System.Timers;
|
using System.Timers;
|
||||||
using Tools;
|
using Tools;
|
||||||
|
|
||||||
@@ -15,6 +15,9 @@ namespace GHelper
|
|||||||
public partial class SettingsForm : RForm
|
public partial class SettingsForm : RForm
|
||||||
{
|
{
|
||||||
|
|
||||||
|
private ContextMenuStrip contextMenuStrip = new CustomContextMenu();
|
||||||
|
private ToolStripMenuItem menuSilent, menuBalanced, menuTurbo, menuEco, menuStandard, menuUltimate, menuOptimized;
|
||||||
|
|
||||||
public static System.Timers.Timer aTimer = default!;
|
public static System.Timers.Timer aTimer = default!;
|
||||||
public static Point trayPoint;
|
public static Point trayPoint;
|
||||||
|
|
||||||
@@ -129,6 +132,7 @@ namespace GHelper
|
|||||||
|
|
||||||
aTimer = new System.Timers.Timer(1000);
|
aTimer = new System.Timers.Timer(1000);
|
||||||
aTimer.Elapsed += OnTimedEvent;
|
aTimer.Elapsed += OnTimedEvent;
|
||||||
|
aTimer.Enabled = true;
|
||||||
|
|
||||||
SetVersionLabel(Properties.Strings.VersionLabel + ": " + Assembly.GetExecutingAssembly().GetName().Version);
|
SetVersionLabel(Properties.Strings.VersionLabel + ": " + Assembly.GetExecutingAssembly().GetName().Version);
|
||||||
|
|
||||||
@@ -138,7 +142,9 @@ namespace GHelper
|
|||||||
|
|
||||||
labelModel.Text = model;
|
labelModel.Text = model;
|
||||||
|
|
||||||
this.TopMost = Program.config.getConfig("topmost") == 1;
|
TopMost = Program.config.getConfig("topmost") == 1;
|
||||||
|
|
||||||
|
SetContextMenu();
|
||||||
|
|
||||||
Task.Run(async () =>
|
Task.Run(async () =>
|
||||||
{
|
{
|
||||||
@@ -146,6 +152,111 @@ namespace GHelper
|
|||||||
CheckForUpdatesAsync();
|
CheckForUpdatesAsync();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetContextMenu()
|
||||||
|
{
|
||||||
|
|
||||||
|
contextMenuStrip.Items.Clear();
|
||||||
|
|
||||||
|
Padding padding = new Padding(5, 5, 5, 5);
|
||||||
|
|
||||||
|
/*
|
||||||
|
TableLayoutPanel[] tables = { tablePerf, tableGPU };
|
||||||
|
string[] titles = { Properties.Strings.PerformanceMode, Properties.Strings.GPUMode};
|
||||||
|
|
||||||
|
int index = 0;
|
||||||
|
foreach (TableLayoutPanel table in tables)
|
||||||
|
{
|
||||||
|
|
||||||
|
var title = new ToolStripMenuItem(titles[index]);
|
||||||
|
title.Margin = padding;
|
||||||
|
title.Enabled = false;
|
||||||
|
contextMenuStrip.Items.Add(title);
|
||||||
|
|
||||||
|
foreach (Control control in table.Controls)
|
||||||
|
{
|
||||||
|
var button = control as RButton;
|
||||||
|
if (button != null && !button.Secondary && button.Enabled)
|
||||||
|
{
|
||||||
|
var menu = new ToolStripMenuItem(button.Text);
|
||||||
|
menu.Margin = padding;
|
||||||
|
menu.Checked = button.Activated;
|
||||||
|
menu.Click += delegate { button.PerformClick(); };
|
||||||
|
contextMenuStrip.Items.Add(menu);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
contextMenuStrip.Items.Add("-");
|
||||||
|
index++;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
|
||||||
|
var title = new ToolStripMenuItem(Properties.Strings.PerformanceMode);
|
||||||
|
title.Margin = padding;
|
||||||
|
title.Enabled = false;
|
||||||
|
contextMenuStrip.Items.Add(title);
|
||||||
|
|
||||||
|
menuSilent = new ToolStripMenuItem(Properties.Strings.Silent);
|
||||||
|
menuSilent.Click += ButtonSilent_Click;
|
||||||
|
menuSilent.Margin = padding;
|
||||||
|
contextMenuStrip.Items.Add(menuSilent);
|
||||||
|
|
||||||
|
menuBalanced = new ToolStripMenuItem(Properties.Strings.Balanced);
|
||||||
|
menuBalanced.Click += ButtonBalanced_Click;
|
||||||
|
menuBalanced.Margin = padding;
|
||||||
|
contextMenuStrip.Items.Add(menuBalanced);
|
||||||
|
|
||||||
|
menuTurbo = new ToolStripMenuItem(Properties.Strings.Turbo);
|
||||||
|
menuTurbo.Click += ButtonTurbo_Click;
|
||||||
|
menuTurbo.Checked = true;
|
||||||
|
menuTurbo.Margin = padding;
|
||||||
|
contextMenuStrip.Items.Add(menuTurbo);
|
||||||
|
|
||||||
|
contextMenuStrip.Items.Add("-");
|
||||||
|
|
||||||
|
var titleGPU = new ToolStripMenuItem(Properties.Strings.GPUMode);
|
||||||
|
titleGPU.Margin = padding;
|
||||||
|
titleGPU.Enabled = false;
|
||||||
|
contextMenuStrip.Items.Add(titleGPU);
|
||||||
|
|
||||||
|
menuEco = new ToolStripMenuItem(Properties.Strings.EcoMode);
|
||||||
|
menuEco.Click += ButtonEco_Click;
|
||||||
|
menuEco.Margin = padding;
|
||||||
|
contextMenuStrip.Items.Add(menuEco);
|
||||||
|
|
||||||
|
menuStandard = new ToolStripMenuItem(Properties.Strings.StandardMode);
|
||||||
|
menuStandard.Click += ButtonStandard_Click;
|
||||||
|
menuStandard.Margin = padding;
|
||||||
|
contextMenuStrip.Items.Add(menuStandard);
|
||||||
|
|
||||||
|
menuUltimate = new ToolStripMenuItem(Properties.Strings.UltimateMode);
|
||||||
|
menuUltimate.Click += ButtonUltimate_Click;
|
||||||
|
menuUltimate.Margin = padding;
|
||||||
|
contextMenuStrip.Items.Add(menuUltimate);
|
||||||
|
|
||||||
|
menuOptimized = new ToolStripMenuItem(Properties.Strings.Optimized);
|
||||||
|
menuOptimized.Click += ButtonOptimized_Click;
|
||||||
|
menuOptimized.Margin = padding;
|
||||||
|
contextMenuStrip.Items.Add(menuOptimized);
|
||||||
|
|
||||||
|
contextMenuStrip.Items.Add("-");
|
||||||
|
|
||||||
|
var quit = new ToolStripMenuItem(Properties.Strings.Quit);
|
||||||
|
quit.Click += ButtonQuit_Click;
|
||||||
|
quit.Margin = padding;
|
||||||
|
contextMenuStrip.Items.Add(quit);
|
||||||
|
|
||||||
|
contextMenuStrip.ShowCheckMargin = true;
|
||||||
|
contextMenuStrip.RenderMode = ToolStripRenderMode.System;
|
||||||
|
|
||||||
|
if (CheckSystemDarkModeStatus())
|
||||||
|
{
|
||||||
|
contextMenuStrip.BackColor = this.BackColor;
|
||||||
|
contextMenuStrip.ForeColor = this.ForeColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
Program.trayIcon.ContextMenuStrip = contextMenuStrip;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -154,7 +265,8 @@ namespace GHelper
|
|||||||
if (Program.wmi.DeviceGet(ASUSWmi.GPUXG) == 1)
|
if (Program.wmi.DeviceGet(ASUSWmi.GPUXG) == 1)
|
||||||
{
|
{
|
||||||
Program.wmi.DeviceSet(ASUSWmi.GPUXG, 0, "GPU XGM");
|
Program.wmi.DeviceSet(ASUSWmi.GPUXG, 0, "GPU XGM");
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
Program.wmi.DeviceSet(ASUSWmi.GPUXG, 1, "GPU XGM");
|
Program.wmi.DeviceSet(ASUSWmi.GPUXG, 1, "GPU XGM");
|
||||||
}
|
}
|
||||||
@@ -291,7 +403,7 @@ namespace GHelper
|
|||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
Logger.WriteLine("Monitor Power On");
|
Logger.WriteLine("Monitor Power On");
|
||||||
Program.SetAutoModes(false);
|
Program.SetAutoModes();
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
Logger.WriteLine("Monitor Dimmed");
|
Logger.WriteLine("Monitor Dimmed");
|
||||||
@@ -517,7 +629,7 @@ namespace GHelper
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
mat.SetBuiltInAnimation(true, animation);
|
mat.SetBuiltInAnimation(true, animation);
|
||||||
Logger.WriteLine("Matrix builtin "+animation.AsByte);
|
Logger.WriteLine("Matrix builtin " + animation.AsByte);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -734,7 +846,6 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
InitScreen();
|
InitScreen();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InitScreen()
|
public void InitScreen()
|
||||||
@@ -781,7 +892,8 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
button120Hz.Text = maxFrequency.ToString() + "Hz" + (overdriveSetting ? " + OD" : "");
|
button120Hz.Text = maxFrequency.ToString() + "Hz" + (overdriveSetting ? " + OD" : "");
|
||||||
panelScreen.Visible = true;
|
panelScreen.Visible = true;
|
||||||
} else if (maxFrequency > 0)
|
}
|
||||||
|
else if (maxFrequency > 0)
|
||||||
{
|
{
|
||||||
panelScreen.Visible = false;
|
panelScreen.Visible = false;
|
||||||
}
|
}
|
||||||
@@ -831,8 +943,7 @@ namespace GHelper
|
|||||||
SetGPUMode(ASUSWmi.GPUModeEco);
|
SetGPUMode(ASUSWmi.GPUModeEco);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void RefreshSensors(bool force = false)
|
||||||
private void RefreshSensors(bool force = false)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
if (!force && Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastRefresh) < 2000) return;
|
if (!force && Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastRefresh) < 2000) return;
|
||||||
@@ -848,7 +959,7 @@ namespace GHelper
|
|||||||
cpuTemp = ": " + Math.Round((decimal)HardwareMonitor.cpuTemp).ToString() + "°C ";
|
cpuTemp = ": " + Math.Round((decimal)HardwareMonitor.cpuTemp).ToString() + "°C ";
|
||||||
|
|
||||||
if (HardwareMonitor.batteryDischarge > 0)
|
if (HardwareMonitor.batteryDischarge > 0)
|
||||||
battery = Properties.Strings.Discharging +": " + Math.Round((decimal)HardwareMonitor.batteryDischarge, 1).ToString() + "W";
|
battery = Properties.Strings.Discharging + ": " + Math.Round((decimal)HardwareMonitor.batteryDischarge, 1).ToString() + "W";
|
||||||
|
|
||||||
if (HardwareMonitor.gpuTemp > 0)
|
if (HardwareMonitor.gpuTemp > 0)
|
||||||
{
|
{
|
||||||
@@ -885,11 +996,7 @@ namespace GHelper
|
|||||||
this.Top = Screen.FromControl(this).WorkingArea.Height - 10 - this.Height;
|
this.Top = Screen.FromControl(this).WorkingArea.Height - 10 - this.Height;
|
||||||
this.Activate();
|
this.Activate();
|
||||||
|
|
||||||
Task.Run(async () =>
|
aTimer.Enabled = true;
|
||||||
{
|
|
||||||
await Task.Delay(TimeSpan.FromSeconds(1));
|
|
||||||
aTimer.Enabled = true;
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -901,7 +1008,7 @@ namespace GHelper
|
|||||||
|
|
||||||
private void SetPerformanceLabel()
|
private void SetPerformanceLabel()
|
||||||
{
|
{
|
||||||
labelPerf.Text = Properties.Strings.PerformanceMode + (customFans?"+":"") + ((customPower > 0) ? " "+customPower+"W" : "");
|
labelPerf.Text = Properties.Strings.PerformanceMode + (customFans ? "+" : "") + ((customPower > 0) ? " " + customPower + "W" : "");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetPower()
|
public void SetPower()
|
||||||
@@ -1046,6 +1153,10 @@ namespace GHelper
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
menuSilent.Checked = buttonSilent.Activated;
|
||||||
|
menuBalanced.Checked = buttonBalanced.Activated;
|
||||||
|
menuTurbo.Checked = buttonTurbo.Activated;
|
||||||
|
|
||||||
int oldMode = Program.config.getConfig("performance_mode");
|
int oldMode = Program.config.getConfig("performance_mode");
|
||||||
Program.config.setConfig("performance_" + (int)SystemInformation.PowerStatus.PowerLineStatus, PerformanceMode);
|
Program.config.setConfig("performance_" + (int)SystemInformation.PowerStatus.PowerLineStatus, PerformanceMode);
|
||||||
Program.config.setConfig("performance_mode", PerformanceMode);
|
Program.config.setConfig("performance_mode", PerformanceMode);
|
||||||
@@ -1069,7 +1180,7 @@ namespace GHelper
|
|||||||
|
|
||||||
if (Program.config.getConfigPerfString("scheme") is not null)
|
if (Program.config.getConfigPerfString("scheme") is not null)
|
||||||
NativeMethods.SetPowerScheme(Program.config.getConfigPerfString("scheme"));
|
NativeMethods.SetPowerScheme(Program.config.getConfigPerfString("scheme"));
|
||||||
else
|
else
|
||||||
NativeMethods.SetPowerScheme(PerformanceMode);
|
NativeMethods.SetPowerScheme(PerformanceMode);
|
||||||
|
|
||||||
if (Program.config.getConfigPerf("auto_boost") != -1)
|
if (Program.config.getConfigPerf("auto_boost") != -1)
|
||||||
@@ -1130,12 +1241,17 @@ namespace GHelper
|
|||||||
|
|
||||||
public void AutoScreen(bool force = false)
|
public void AutoScreen(bool force = false)
|
||||||
{
|
{
|
||||||
if (!force && Program.config.getConfig("screen_auto") != 1) return;
|
if (force || Program.config.getConfig("screen_auto") == 1)
|
||||||
|
{
|
||||||
|
if (SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online)
|
||||||
|
SetScreen(1000, 1);
|
||||||
|
else
|
||||||
|
SetScreen(60, 0);
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
SetScreen(overdrive : Program.config.getConfig("overdrive"));
|
||||||
|
}
|
||||||
|
|
||||||
if (SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online)
|
|
||||||
SetScreen(1000, 1);
|
|
||||||
else
|
|
||||||
SetScreen(60, 0);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1143,8 +1259,8 @@ namespace GHelper
|
|||||||
public static bool IsPlugged()
|
public static bool IsPlugged()
|
||||||
{
|
{
|
||||||
bool optimizedUSBC = Program.config.getConfig("optimized_usbc") != 1;
|
bool optimizedUSBC = Program.config.getConfig("optimized_usbc") != 1;
|
||||||
|
|
||||||
return SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online &&
|
return SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online &&
|
||||||
(optimizedUSBC || Program.wmi.DeviceGet(ASUSWmi.ChargerMode) != ASUSWmi.ChargerUSB);
|
(optimizedUSBC || Program.wmi.DeviceGet(ASUSWmi.ChargerMode) != ASUSWmi.ChargerUSB);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1216,6 +1332,7 @@ namespace GHelper
|
|||||||
tablePerf.ColumnCount = 0;
|
tablePerf.ColumnCount = 0;
|
||||||
tableGPU.ColumnCount = 0;
|
tableGPU.ColumnCount = 0;
|
||||||
tableScreen.ColumnCount = 0;
|
tableScreen.ColumnCount = 0;
|
||||||
|
menuUltimate.Visible = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
//tableLayoutMatrix.ColumnCount = 0;
|
//tableLayoutMatrix.ColumnCount = 0;
|
||||||
@@ -1226,7 +1343,7 @@ namespace GHelper
|
|||||||
int connected = Program.wmi.DeviceGet(ASUSWmi.GPUXGConnected);
|
int connected = Program.wmi.DeviceGet(ASUSWmi.GPUXGConnected);
|
||||||
int enabled = Program.wmi.DeviceGet(ASUSWmi.GPUXG);
|
int enabled = Program.wmi.DeviceGet(ASUSWmi.GPUXG);
|
||||||
|
|
||||||
buttonXGM.Visible = (connected == 1);
|
buttonXGM.Enabled = buttonXGM.Visible = (connected == 1);
|
||||||
buttonXGM.Activated = (enabled == 1);
|
buttonXGM.Activated = (enabled == 1);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1280,7 +1397,7 @@ namespace GHelper
|
|||||||
ButtonEnabled(buttonStandard, false);
|
ButtonEnabled(buttonStandard, false);
|
||||||
ButtonEnabled(buttonUltimate, false);
|
ButtonEnabled(buttonUltimate, false);
|
||||||
|
|
||||||
labelGPU.Text = Properties.Strings.GPUMode + ": "+ Properties.Strings.GPUChanging + " ...";
|
labelGPU.Text = Properties.Strings.GPUMode + ": " + Properties.Strings.GPUChanging + " ...";
|
||||||
|
|
||||||
Thread t = new Thread(() =>
|
Thread t = new Thread(() =>
|
||||||
{
|
{
|
||||||
@@ -1409,6 +1526,10 @@ namespace GHelper
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
menuEco.Checked = buttonEco.Activated;
|
||||||
|
menuStandard.Checked = buttonStandard.Activated;
|
||||||
|
menuUltimate.Checked = buttonUltimate.Activated;
|
||||||
|
menuOptimized.Checked = buttonOptimized.Activated;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,9 +4,7 @@
|
|||||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||||
<security>
|
<security>
|
||||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
<!-- UAC Manifest Options
|
||||||
|
|
||||||
<!-- UAC Manifest Options
|
|
||||||
If you want to change the Windows User Account Control level replace the
|
If you want to change the Windows User Account Control level replace the
|
||||||
requestedExecutionLevel node with one of the following.
|
requestedExecutionLevel node with one of the following.
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ Control tool for ROG Zephyrus G14, G15, Flow X13, Flow X16, TUF, Strix, Scar and
|
|||||||
## [:floppy_disk: Download App](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
|
## [:floppy_disk: Download App](https://github.com/seerge/g-helper/releases/latest/download/GHelper.zip)
|
||||||
|
|
||||||
If you like this app, please [star :star: it on Github](https://github.com/seerge/g-helper) and spread a word about it!
|
If you like this app, please [star :star: it on Github](https://github.com/seerge/g-helper) and spread a word about it!
|
||||||
### :euro: [Donate and support G-Helper](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA)
|
### [:euro: Donate EUR](https://www.paypal.com/donate/?hosted_button_id=4HMSHS4EBQWTA) | [💵 Donate USD](https://www.paypal.com/donate/?hosted_button_id=SRM6QUX6ACXDY)
|
||||||
|
|
||||||
_If you post about the app - please include a link. Thanks._
|
_If you post about the app - please include a link. Thanks._
|
||||||
|
|
||||||
@@ -188,6 +188,14 @@ Full list of keycodes https://learn.microsoft.com/en-us/windows/win32/inputdev/v
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
### Workaround for [bugged bios on G15](https://github.com/seerge/g-helper/issues/253)
|
||||||
|
|
||||||
|
Some people reported that on G15 model bios can be bugged and either not turn on or not turn off fans, when you set custom fan curve (in Armoury or g-helper, or any other app)
|
||||||
|
I have added a very optional workaround as it was asked, on launch app will try to disable and re-enable dGPU when external monitor is connected, that seems to wake up fans :)
|
||||||
|
|
||||||
|
To enable this custom workaround you need to add an extra line in In config.json (under ``%AppData%\GHelper``)
|
||||||
|
``gpu_reenable : 1,``
|
||||||
|
|
||||||
------------
|
------------
|
||||||
**Disclaimers**
|
**Disclaimers**
|
||||||
"ROG", "TUF", and "Armoury Crate" are trademarked by and belong to AsusTek Computer, Inc. I make no claims to these or any assets belonging to AsusTek Computer and use them purely for informational purposes only.
|
"ROG", "TUF", and "Armoury Crate" are trademarked by and belong to AsusTek Computer, Inc. I make no claims to these or any assets belonging to AsusTek Computer and use them purely for informational purposes only.
|
||||||
|
|||||||
Reference in New Issue
Block a user