From 208eff2650774fd774dabbd9836187483af2aad1 Mon Sep 17 00:00:00 2001 From: AnonAmit Date: Wed, 8 Apr 2026 13:07:40 +0530 Subject: [PATCH 1/2] feat: Add full Automatic Fan Curve control UI --- AsusFanControlGUI/AsusFanControlGUI.csproj | 41 +- AsusFanControlGUI/Controls/FanCurvePanel.cs | 332 +++++++++++ AsusFanControlGUI/DarkTheme.cs | 91 +++ AsusFanControlGUI/ElevationHelper.cs | 31 + AsusFanControlGUI/Form1.Designer.cs | 550 ++++++++++++------ AsusFanControlGUI/Form1.cs | 377 +++++++++--- AsusFanControlGUI/Forms/ProfileNameDialog.cs | 88 +++ AsusFanControlGUI/Models/CurvePoint.cs | 22 + AsusFanControlGUI/Models/FanCurveProfile.cs | 42 ++ AsusFanControlGUI/Program.cs | 40 +- AsusFanControlGUI/Services/BuiltInProfiles.cs | 88 +++ AsusFanControlGUI/Services/FanCurveDaemon.cs | 163 ++++++ AsusFanControlGUI/Services/ProfileManager.cs | 97 +++ README.md | 1 + fan-curve-tab-gui.png | Bin 0 -> 144605 bytes ui-ss/fan-curve-tab-gui.png | Bin 0 -> 144605 bytes 16 files changed, 1699 insertions(+), 264 deletions(-) create mode 100644 AsusFanControlGUI/Controls/FanCurvePanel.cs create mode 100644 AsusFanControlGUI/DarkTheme.cs create mode 100644 AsusFanControlGUI/ElevationHelper.cs create mode 100644 AsusFanControlGUI/Forms/ProfileNameDialog.cs create mode 100644 AsusFanControlGUI/Models/CurvePoint.cs create mode 100644 AsusFanControlGUI/Models/FanCurveProfile.cs create mode 100644 AsusFanControlGUI/Services/BuiltInProfiles.cs create mode 100644 AsusFanControlGUI/Services/FanCurveDaemon.cs create mode 100644 AsusFanControlGUI/Services/ProfileManager.cs create mode 100644 fan-curve-tab-gui.png create mode 100644 ui-ss/fan-curve-tab-gui.png diff --git a/AsusFanControlGUI/AsusFanControlGUI.csproj b/AsusFanControlGUI/AsusFanControlGUI.csproj index d1527a6..bd0445a 100644 --- a/AsusFanControlGUI/AsusFanControlGUI.csproj +++ b/AsusFanControlGUI/AsusFanControlGUI.csproj @@ -1,4 +1,4 @@ - + @@ -14,7 +14,8 @@ true - AnyCPU + x64 + false true full false @@ -24,7 +25,8 @@ 4 - AnyCPU + x64 + false pdbonly true bin\Release\ @@ -65,18 +67,43 @@ + + Form Form1.cs + + + + + + + + + + + + + + + + + + + + + + + Form1.cs Designer @@ -90,6 +117,8 @@ True Resources.resx + + SettingsSingleFileGenerator Settings.Designer.cs @@ -103,14 +132,14 @@ + + + {df94635e-4107-4ee9-8675-7137e750bc86} AsusFanControl - - - \ No newline at end of file diff --git a/AsusFanControlGUI/Controls/FanCurvePanel.cs b/AsusFanControlGUI/Controls/FanCurvePanel.cs new file mode 100644 index 0000000..a0bb0bb --- /dev/null +++ b/AsusFanControlGUI/Controls/FanCurvePanel.cs @@ -0,0 +1,332 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Windows.Forms; +using AsusFanControlGUI.Models; +using AsusFanControlGUI.Services; + +namespace AsusFanControlGUI.Controls +{ + /// + /// A fully custom-painted WinForms UserControl that renders an interactive + /// fan-speed vs. temperature curve. Nodes are draggable when IsReadOnly = false. + /// + public class FanCurvePanel : UserControl + { + // ── Public API ─────────────────────────────────────────────────────────── + + private List _points = new List(); + public List Points + { + get => _points; + set { _points = value ?? new List(); Invalidate(); } + } + + public bool IsReadOnly { get; set; } = false; + public bool ClampToGrid { get; set; } = false; + public string PanelTitle { get; set; } = "Fan Profile, RPM/°C"; + public Color CurveColor { get; set; } = Color.FromArgb(79, 195, 247); + public float MaxRpm { get; set; } = 7000f; + + /// Fired after any node is dragged so parent can react. + public event EventHandler PointsChanged; + + // ── Drawing constants ──────────────────────────────────────────────────── + private const float TempMin = 20f; + private const float TempMax = 110f; + private const int NodeRadius = 6; + private const int ActiveNodeRadius = 8; + private const int HitRadius = 12; + + private readonly int PadLeft = 58; + private readonly int PadRight = 14; + private readonly int PadTop = 30; + private readonly int PadBottom = 36; + + // ── Drag state ─────────────────────────────────────────────────────────── + private int _dragIndex = -1; // index into _points currently being dragged + + // ── Constructor ────────────────────────────────────────────────────────── + public FanCurvePanel() + { + DoubleBuffered = true; + ResizeRedraw = true; + BackColor = Color.FromArgb(22, 22, 46); + MinimumSize = new Size(200, 140); + + MouseDown += OnMouseDown; + MouseMove += OnMouseMove; + MouseUp += OnMouseUp; + } + + // ── Canvas geometry ────────────────────────────────────────────────────── + + private RectangleF PlotArea => new RectangleF( + PadLeft, + PadTop, + Math.Max(10, Width - PadLeft - PadRight), + Math.Max(10, Height - PadTop - PadBottom)); + + private PointF CurvePointToCanvas(CurvePoint pt) + { + var pa = PlotArea; + float xFrac = (pt.TempC - TempMin) / (TempMax - TempMin); + float yFrac = pt.Rpm / MaxRpm; + return new PointF( + pa.Left + xFrac * pa.Width, + pa.Bottom - yFrac * pa.Height); // Y inverted: high RPM = top + } + + private CurvePoint CanvasToCurvePoint(PointF px) + { + var pa = PlotArea; + float xFrac = (px.X - pa.Left) / pa.Width; + float yFrac = (pa.Bottom - px.Y) / pa.Height; + + float tempC = TempMin + xFrac * (TempMax - TempMin); + float rpm = yFrac * MaxRpm; + + // Clamp + tempC = Math.Max(TempMin, Math.Min(TempMax, tempC)); + rpm = Math.Max(0, Math.Min(MaxRpm, rpm)); + + if (ClampToGrid) + tempC = (float)(Math.Round(tempC / 5.0) * 5.0); + + return new CurvePoint(tempC, rpm); + } + + // ── Interpolation (static, usable by FanCurveDaemon too) ──────────────── + public float GetTargetRpm(float tempC) + { + return FanCurveDaemon.InterpolateRpm(_points, tempC); + } + + // ── Painting ───────────────────────────────────────────────────────────── + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + var g = e.Graphics; + g.SmoothingMode = SmoothingMode.AntiAlias; + g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit; + + var pa = PlotArea; + + // Background + g.FillRectangle(new SolidBrush(Color.FromArgb(20, 20, 40)), 0, 0, Width, Height); + g.FillRectangle(new SolidBrush(Color.FromArgb(22, 22, 46)), pa.Left, pa.Top, pa.Width, pa.Height); + + DrawGrid(g, pa); + DrawAxes(g, pa); + DrawCurve(g, pa); + DrawTitle(g); + } + + private void DrawGrid(Graphics g, RectangleF pa) + { + using (var gridPen = new Pen(Color.FromArgb(38, 38, 60), 1f)) + { + // Vertical lines every 10°C + for (float t = TempMin; t <= TempMax; t += 10f) + { + float x = pa.Left + (t - TempMin) / (TempMax - TempMin) * pa.Width; + g.DrawLine(gridPen, x, pa.Top, x, pa.Bottom); + } + // Horizontal lines every 500 RPM + for (float r = 0; r <= MaxRpm; r += 500f) + { + float y = pa.Bottom - r / MaxRpm * pa.Height; + g.DrawLine(gridPen, pa.Left, y, pa.Right, y); + } + } + } + + private void DrawAxes(Graphics g, RectangleF pa) + { + using (var axisFont = new Font("Segoe UI", 7.5f)) + using (var labelBrush = new SolidBrush(Color.FromArgb(140, 140, 180))) + using (var axisPen = new Pen(Color.FromArgb(60, 60, 90), 1.2f)) + { + // Draw axis border + g.DrawRectangle(axisPen, pa.X, pa.Y, pa.Width, pa.Height); + + // X axis labels (temperature) + for (float t = TempMin; t <= TempMax; t += 10f) + { + float x = pa.Left + (t - TempMin) / (TempMax - TempMin) * pa.Width; + string lbl = $"{(int)t}°"; + var sz = g.MeasureString(lbl, axisFont); + g.DrawString(lbl, axisFont, labelBrush, x - sz.Width / 2, pa.Bottom + 4); + } + // X axis name + using (var boldFont = new Font("Segoe UI", 7.5f, FontStyle.Regular)) + { + string xlabel = "Temperature (°C)"; + var xsz = g.MeasureString(xlabel, boldFont); + g.DrawString(xlabel, boldFont, labelBrush, + pa.Left + (pa.Width - xsz.Width) / 2, pa.Bottom + 18); + } + + // Y axis labels (RPM) + for (float r = 0; r <= MaxRpm; r += 500f) + { + float y = pa.Bottom - r / MaxRpm * pa.Height; + string lbl = r == 0 ? "OFF" : $"{(int)r}"; + var sz = g.MeasureString(lbl, axisFont); + g.DrawString(lbl, axisFont, labelBrush, + pa.Left - sz.Width - 4, y - sz.Height / 2); + } + } + } + + private void DrawCurve(Graphics g, RectangleF pa) + { + if (_points == null || _points.Count == 0) return; + + // Sort by temp for drawing + var sorted = new List(_points); + sorted.Sort((a, b) => a.TempC.CompareTo(b.TempC)); + + // Build pixel points + var pixelPts = new List(); + foreach (var pt in sorted) + pixelPts.Add(CurvePointToCanvas(pt)); + + // Draw filled area under curve + if (pixelPts.Count >= 2) + { + var fillPts = new List(pixelPts); + fillPts.Add(new PointF(pixelPts[pixelPts.Count - 1].X, pa.Bottom)); + fillPts.Add(new PointF(pixelPts[0].X, pa.Bottom)); + using (var fillBrush = new SolidBrush(Color.FromArgb(30, + CurveColor.R, CurveColor.G, CurveColor.B))) + { + g.FillPolygon(fillBrush, fillPts.ToArray()); + } + + // Draw curve line + using (var curvePen = new Pen(CurveColor, 2.2f) { LineJoin = LineJoin.Round }) + { + g.DrawLines(curvePen, pixelPts.ToArray()); + } + } + + // Draw nodes + for (int i = 0; i < sorted.Count; i++) + { + var px = CurvePointToCanvas(sorted[i]); + bool isDragged = !IsReadOnly && _dragIndex >= 0 && + Math.Abs(sorted[i].TempC - _points[_dragIndex].TempC) < 0.5f && + Math.Abs(sorted[i].Rpm - _points[_dragIndex].Rpm) < 0.5f; + + int r = isDragged ? ActiveNodeRadius : NodeRadius; + var nodeColor = isDragged + ? Color.White + : CurveColor; + + var rect = new RectangleF(px.X - r, px.Y - r, r * 2, r * 2); + + using (var fill = new SolidBrush(nodeColor)) + g.FillEllipse(fill, rect); + using (var border = new Pen(Color.White, 1.2f)) + g.DrawEllipse(border, rect); + + // Tooltip: show temp + rpm values + using (var tipFont = new Font("Segoe UI", 7f)) + using (var tipBrush = new SolidBrush(Color.FromArgb(200, 200, 200))) + { + string rpmLabel = sorted[i].Rpm <= 0 ? "OFF" : $"{(int)sorted[i].Rpm}"; + string tipText = $"{(int)sorted[i].TempC}°/{rpmLabel}"; + g.DrawString(tipText, tipFont, tipBrush, px.X + r + 2, px.Y - 8); + } + } + } + + private void DrawTitle(Graphics g) + { + using (var titleFont = new Font("Segoe UI", 9f, FontStyle.Bold)) + using (var titleBrush = new SolidBrush(CurveColor)) + { + var sz = g.MeasureString(PanelTitle, titleFont); + g.DrawString(PanelTitle, titleFont, titleBrush, + (Width - sz.Width) / 2, 6); + } + } + + // ── Mouse interaction ──────────────────────────────────────────────────── + private void OnMouseDown(object sender, MouseEventArgs e) + { + if (IsReadOnly || e.Button != MouseButtons.Left) return; + + int closest = FindNearestNode(e.Location); + if (closest >= 0) + { + _dragIndex = closest; + Cursor = Cursors.SizeAll; + Capture = true; + } + } + + private void OnMouseMove(object sender, MouseEventArgs e) + { + if (IsReadOnly) return; + + if (_dragIndex < 0) + { + // Change cursor when hovering over a node + Cursor = FindNearestNode(e.Location) >= 0 ? Cursors.SizeAll : Cursors.Default; + return; + } + + // Move the dragged node + var newPt = CanvasToCurvePoint(e.Location); + + // Prevent two nodes sharing the same temp (clamp to ±1°C of neighbours) + var sorted = new List(_points); + sorted.Sort((a, b) => a.TempC.CompareTo(b.TempC)); + int sortedIdx = sorted.IndexOf(_points[_dragIndex]); + + float minT = (sortedIdx > 0) ? sorted[sortedIdx - 1].TempC + 1f : TempMin; + float maxT = (sortedIdx < sorted.Count - 1) ? sorted[sortedIdx + 1].TempC - 1f : TempMax; + newPt.TempC = Math.Max(minT, Math.Min(maxT, newPt.TempC)); + + _points[_dragIndex] = newPt; + Invalidate(); + } + + private void OnMouseUp(object sender, MouseEventArgs e) + { + if (_dragIndex >= 0) + { + // Sort points by temp after drag + _points.Sort((a, b) => a.TempC.CompareTo(b.TempC)); + _dragIndex = -1; + Cursor = Cursors.Default; + Capture = false; + Invalidate(); + PointsChanged?.Invoke(this, EventArgs.Empty); + } + } + + /// Returns the index of the nearest Point within HitRadius, or -1. + private int FindNearestNode(Point mousePos) + { + int best = -1; + float bestDist = HitRadius * HitRadius; + for (int i = 0; i < _points.Count; i++) + { + var px = CurvePointToCanvas(_points[i]); + float dx = px.X - mousePos.X; + float dy = px.Y - mousePos.Y; + float dist = dx * dx + dy * dy; + if (dist < bestDist) + { + bestDist = dist; + best = i; + } + } + return best; + } + } +} diff --git a/AsusFanControlGUI/DarkTheme.cs b/AsusFanControlGUI/DarkTheme.cs new file mode 100644 index 0000000..0cef76d --- /dev/null +++ b/AsusFanControlGUI/DarkTheme.cs @@ -0,0 +1,91 @@ +using System.Drawing; +using System.Windows.Forms; + +namespace AsusFanControlGUI +{ + public static class DarkTheme + { + public static Color Background = Color.FromArgb(15, 15, 26); + public static Color PanelBackground = Color.FromArgb(22, 22, 46); + public static Color GridLine = Color.FromArgb(42, 42, 62); + public static Color AccentBlue = Color.FromArgb(79, 195, 247); + public static Color AccentRed = Color.FromArgb(239, 83, 80); + public static Color TextPrimary = Color.White; + public static Color TextSecondary = Color.FromArgb(140, 140, 180); + public static Color ButtonBackground = Color.FromArgb(34, 34, 68); + public static Color ButtonHover = Color.FromArgb(51, 51, 102); + public static Color WarningOrange = Color.Orange; + public static Color ErrorRed = Color.FromArgb(239, 83, 80); + public static Color SuccessGreen = Color.FromArgb(102, 187, 106); + + /// Recursively applies dark colors to a control and all its children. + public static void Apply(Control control) + { + control.BackColor = Background; + control.ForeColor = TextPrimary; + + foreach (Control child in control.Controls) + { + if (child is Button btn) + { + StyleButton(btn); + } + else if (child is ComboBox cb) + { + StyleComboBox(cb); + } + else if (child is Label lbl) + { + lbl.BackColor = Color.Transparent; + lbl.ForeColor = TextPrimary; + } + else if (child is CheckBox chk) + { + chk.BackColor = Color.Transparent; + chk.ForeColor = TextPrimary; + } + else if (child is Panel || child is GroupBox || child is FlowLayoutPanel || child is TableLayoutPanel) + { + child.BackColor = Background; + child.ForeColor = TextPrimary; + Apply(child); + } + else if (child is TabControl tc) + { + tc.BackColor = Background; + tc.ForeColor = TextPrimary; + foreach (TabPage tp in tc.TabPages) + { + tp.BackColor = Background; + tp.ForeColor = TextPrimary; + Apply(tp); + } + } + else + { + Apply(child); + } + } + } + + public static void StyleButton(Button btn) + { + btn.FlatStyle = FlatStyle.Flat; + btn.FlatAppearance.BorderColor = Color.FromArgb(60, 60, 100); + btn.FlatAppearance.BorderSize = 1; + btn.BackColor = ButtonBackground; + btn.ForeColor = TextPrimary; + btn.Cursor = Cursors.Hand; + + btn.MouseEnter += (s, e) => btn.BackColor = ButtonHover; + btn.MouseLeave += (s, e) => btn.BackColor = ButtonBackground; + } + + public static void StyleComboBox(ComboBox cb) + { + cb.BackColor = ButtonBackground; + cb.ForeColor = TextPrimary; + cb.FlatStyle = FlatStyle.Flat; + } + } +} diff --git a/AsusFanControlGUI/ElevationHelper.cs b/AsusFanControlGUI/ElevationHelper.cs new file mode 100644 index 0000000..702bd71 --- /dev/null +++ b/AsusFanControlGUI/ElevationHelper.cs @@ -0,0 +1,31 @@ +using System.Security.Principal; +using System.Drawing; +using System.Windows.Forms; + +namespace AsusFanControlGUI +{ + public static class ElevationHelper + { + public static bool IsRunningAsSystem() + { + using (var identity = WindowsIdentity.GetCurrent()) + { + return identity.IsSystem; + } + } + + public static void ShowElevationWarning(Label statusLabel) + { + if (!IsRunningAsSystem()) + { + statusLabel.ForeColor = DarkTheme.WarningOrange; + statusLabel.Text = "Warning: Not running as SYSTEM. Fan control may fail on driver v3.1.41.0+. Use run.bat."; + } + else + { + statusLabel.ForeColor = DarkTheme.SuccessGreen; + statusLabel.Text = "Status: Ready (running as SYSTEM)"; + } + } + } +} diff --git a/AsusFanControlGUI/Form1.Designer.cs b/AsusFanControlGUI/Form1.Designer.cs index e1b5de3..b73782f 100644 --- a/AsusFanControlGUI/Form1.Designer.cs +++ b/AsusFanControlGUI/Form1.Designer.cs @@ -1,227 +1,367 @@ -namespace AsusFanControlGUI +using AsusFanControlGUI.Controls; + +namespace AsusFanControlGUI { partial class Form1 { - /// - /// Required designer variable. - /// private System.ComponentModel.IContainer components = null; - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) - { components.Dispose(); - } base.Dispose(disposing); } #region Windows Form Designer generated code - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); - this.trackBarFanSpeed = new System.Windows.Forms.TrackBar(); - this.label1 = new System.Windows.Forms.Label(); - this.labelValue = new System.Windows.Forms.Label(); - this.label2 = new System.Windows.Forms.Label(); - this.buttonRefreshRPM = new System.Windows.Forms.Button(); - this.labelRPM = new System.Windows.Forms.Label(); - this.checkBoxTurnOn = new System.Windows.Forms.CheckBox(); - this.labelCPUTemp = new System.Windows.Forms.Label(); - this.buttonRefreshCPUTemp = new System.Windows.Forms.Button(); - this.label4 = new System.Windows.Forms.Label(); - this.menuStrip1 = new System.Windows.Forms.MenuStrip(); - this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItemTurnOffControlOnExit = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItemForbidUnsafeSettings = new System.Windows.Forms.ToolStripMenuItem(); + System.ComponentModel.ComponentResourceManager resources = + new System.ComponentModel.ComponentResourceManager(typeof(Form1)); + + // ── Declare all controls ────────────────────────────────────────────── + this.menuStrip1 = new System.Windows.Forms.MenuStrip(); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItemTurnOffControlOnExit = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItemForbidUnsafeSettings = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItemMinimizeToTrayOnClose = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItemAutoRefreshStats = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItemCheckForUpdates = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItemAutoRefreshStats = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItemCheckForUpdates = new System.Windows.Forms.ToolStripMenuItem(); + + this.mainTabControl = new System.Windows.Forms.TabControl(); + this.tabPageManual = new System.Windows.Forms.TabPage(); + this.tabPageFanCurves = new System.Windows.Forms.TabPage(); + + // Manual tab controls + this.trackBarFanSpeed = new System.Windows.Forms.TrackBar(); + this.label1 = new System.Windows.Forms.Label(); + this.labelValue = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.buttonRefreshRPM = new System.Windows.Forms.Button(); + this.labelRPM = new System.Windows.Forms.Label(); + this.checkBoxTurnOn = new System.Windows.Forms.CheckBox(); + this.labelCPUTemp = new System.Windows.Forms.Label(); + this.buttonRefreshCPUTemp = new System.Windows.Forms.Button(); + this.label4 = new System.Windows.Forms.Label(); + + // Fan Curves tab controls + this.panelCurveToolbar = new System.Windows.Forms.FlowLayoutPanel(); + this.labelProfile = new System.Windows.Forms.Label(); + this.profileComboBox = new System.Windows.Forms.ComboBox(); + this.btnSaveProfile = new System.Windows.Forms.Button(); + this.btnNewProfile = new System.Windows.Forms.Button(); + this.btnDeleteProfile = new System.Windows.Forms.Button(); + this.checkBoxClampToGrid = new System.Windows.Forms.CheckBox(); + + this.fanCurvePanelCpu = new FanCurvePanel(); + this.fanCurvePanelGpu = new FanCurvePanel(); + + this.panelCurveBottom = new System.Windows.Forms.Panel(); + this.btnStartCurve = new System.Windows.Forms.Button(); + this.btnStopCurve = new System.Windows.Forms.Button(); + this.lblCurveStatus = new System.Windows.Forms.Label(); + this.lblLiveCpuTemp = new System.Windows.Forms.Label(); + this.lblLiveRpm = new System.Windows.Forms.Label(); + + // ── Suspend layouts ─────────────────────────────────────────────────── ((System.ComponentModel.ISupportInitialize)(this.trackBarFanSpeed)).BeginInit(); this.menuStrip1.SuspendLayout(); + this.mainTabControl.SuspendLayout(); + this.tabPageManual.SuspendLayout(); + this.tabPageFanCurves.SuspendLayout(); + this.panelCurveToolbar.SuspendLayout(); + this.panelCurveBottom.SuspendLayout(); this.SuspendLayout(); - // - // trackBarFanSpeed - // - this.trackBarFanSpeed.Location = new System.Drawing.Point(12, 62); + + // ════════════════════════════════════════════════════════════════════ + // menuStrip1 + // ════════════════════════════════════════════════════════════════════ + this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] + { + this.toolStripMenuItem1, + this.toolStripMenuItemCheckForUpdates + }); + this.menuStrip1.Location = new System.Drawing.Point(0, 0); + this.menuStrip1.Name = "menuStrip1"; + this.menuStrip1.Size = new System.Drawing.Size(760, 24); + this.menuStrip1.TabIndex = 0; + + // toolStripMenuItem1 (Advanced) + this.toolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] + { + this.toolStripMenuItemTurnOffControlOnExit, + this.toolStripMenuItemForbidUnsafeSettings, + this.toolStripMenuItemMinimizeToTrayOnClose, + this.toolStripMenuItemAutoRefreshStats + }); + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Text = "Advanced"; + + this.toolStripMenuItemTurnOffControlOnExit.CheckOnClick = true; + this.toolStripMenuItemTurnOffControlOnExit.Name = "toolStripMenuItemTurnOffControlOnExit"; + this.toolStripMenuItemTurnOffControlOnExit.Text = "Turn off control on exit"; + this.toolStripMenuItemTurnOffControlOnExit.CheckedChanged += + new System.EventHandler(this.toolStripMenuItemTurnOffControlOnExit_CheckedChanged); + + this.toolStripMenuItemForbidUnsafeSettings.CheckOnClick = true; + this.toolStripMenuItemForbidUnsafeSettings.Name = "toolStripMenuItemForbidUnsafeSettings"; + this.toolStripMenuItemForbidUnsafeSettings.Text = "Forbid unsafe settings"; + this.toolStripMenuItemForbidUnsafeSettings.CheckedChanged += + new System.EventHandler(this.toolStripMenuItemForbidUnsafeSettings_CheckedChanged); + + this.toolStripMenuItemMinimizeToTrayOnClose.CheckOnClick = true; + this.toolStripMenuItemMinimizeToTrayOnClose.Name = "toolStripMenuItemMinimizeToTrayOnClose"; + this.toolStripMenuItemMinimizeToTrayOnClose.Text = "Minimize to tray on close"; + this.toolStripMenuItemMinimizeToTrayOnClose.Click += + new System.EventHandler(this.toolStripMenuItemMinimizeToTrayOnClose_Click); + + this.toolStripMenuItemAutoRefreshStats.CheckOnClick = true; + this.toolStripMenuItemAutoRefreshStats.Name = "toolStripMenuItemAutoRefreshStats"; + this.toolStripMenuItemAutoRefreshStats.Text = "Auto refresh stats"; + this.toolStripMenuItemAutoRefreshStats.Click += + new System.EventHandler(this.toolStripMenuItemAutoRefreshStats_Click); + + this.toolStripMenuItemCheckForUpdates.Name = "toolStripMenuItemCheckForUpdates"; + this.toolStripMenuItemCheckForUpdates.Text = "Check for updates"; + this.toolStripMenuItemCheckForUpdates.Click += + new System.EventHandler(this.toolStripMenuItemCheckForUpdates_Click); + + // ════════════════════════════════════════════════════════════════════ + // mainTabControl + // ════════════════════════════════════════════════════════════════════ + this.mainTabControl.Dock = System.Windows.Forms.DockStyle.Fill; + this.mainTabControl.Name = "mainTabControl"; + this.mainTabControl.SelectedIndex = 0; + this.mainTabControl.TabPages.AddRange(new System.Windows.Forms.TabPage[] + { + this.tabPageManual, + this.tabPageFanCurves + }); + this.mainTabControl.SelectedIndexChanged += + new System.EventHandler(this.mainTabControl_SelectedIndexChanged); + + // ════════════════════════════════════════════════════════════════════ + // tabPageManual — existing controls repositioned inside tab + // ════════════════════════════════════════════════════════════════════ + this.tabPageManual.Name = "tabPageManual"; + this.tabPageManual.Text = "Manual Control"; + this.tabPageManual.UseVisualStyleBackColor = false; + this.tabPageManual.Controls.AddRange(new System.Windows.Forms.Control[] + { + this.checkBoxTurnOn, + this.trackBarFanSpeed, + this.label1, + this.labelValue, + this.label2, + this.buttonRefreshRPM, + this.labelRPM, + this.buttonRefreshCPUTemp, + this.label4, + this.labelCPUTemp + }); + + // Manual tab controls + this.checkBoxTurnOn.AutoSize = true; + this.checkBoxTurnOn.Location = new System.Drawing.Point(12, 14); + this.checkBoxTurnOn.Name = "checkBoxTurnOn"; + this.checkBoxTurnOn.Text = "Turn on fan control"; + this.checkBoxTurnOn.CheckedChanged += + new System.EventHandler(this.checkBoxTurnOn_CheckedChanged); + + this.trackBarFanSpeed.Location = new System.Drawing.Point(12, 38); this.trackBarFanSpeed.Maximum = 100; this.trackBarFanSpeed.Name = "trackBarFanSpeed"; this.trackBarFanSpeed.Size = new System.Drawing.Size(300, 45); - this.trackBarFanSpeed.TabIndex = 0; this.trackBarFanSpeed.Value = 100; - this.trackBarFanSpeed.KeyUp += new System.Windows.Forms.KeyEventHandler(this.trackBarFanSpeed_KeyUp); - this.trackBarFanSpeed.MouseCaptureChanged += new System.EventHandler(this.trackBarFanSpeed_MouseCaptureChanged); - // - // label1 - // + this.trackBarFanSpeed.KeyUp += + new System.Windows.Forms.KeyEventHandler(this.trackBarFanSpeed_KeyUp); + this.trackBarFanSpeed.MouseCaptureChanged += + new System.EventHandler(this.trackBarFanSpeed_MouseCaptureChanged); + this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(12, 110); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(73, 13); - this.label1.TabIndex = 1; + this.label1.Location = new System.Drawing.Point(12, 88); this.label1.Text = "Current value:"; - // - // labelValue - // + this.labelValue.AutoSize = true; - this.labelValue.Location = new System.Drawing.Point(91, 110); - this.labelValue.Name = "labelValue"; - this.labelValue.Size = new System.Drawing.Size(10, 13); - this.labelValue.TabIndex = 2; + this.labelValue.Location = new System.Drawing.Point(95, 88); this.labelValue.Text = "-"; - // - // label2 - // + this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(40, 139); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(71, 13); - this.label2.TabIndex = 3; + this.label2.Location = new System.Drawing.Point(40, 116); this.label2.Text = "Current RPM:"; - // - // buttonRefreshRPM - // - this.buttonRefreshRPM.Location = new System.Drawing.Point(12, 134); + + this.buttonRefreshRPM.Location = new System.Drawing.Point(12, 111); this.buttonRefreshRPM.Name = "buttonRefreshRPM"; this.buttonRefreshRPM.Size = new System.Drawing.Size(22, 23); - this.buttonRefreshRPM.TabIndex = 4; this.buttonRefreshRPM.Text = "↻"; this.buttonRefreshRPM.UseVisualStyleBackColor = true; - this.buttonRefreshRPM.Click += new System.EventHandler(this.buttonRefreshRPM_Click); - // - // labelRPM - // + this.buttonRefreshRPM.Click += + new System.EventHandler(this.buttonRefreshRPM_Click); + this.labelRPM.AutoSize = true; - this.labelRPM.Location = new System.Drawing.Point(117, 139); - this.labelRPM.Name = "labelRPM"; - this.labelRPM.Size = new System.Drawing.Size(10, 13); - this.labelRPM.TabIndex = 5; + this.labelRPM.Location = new System.Drawing.Point(120, 116); this.labelRPM.Text = "-"; - // - // checkBoxTurnOn - // - this.checkBoxTurnOn.AutoSize = true; - this.checkBoxTurnOn.Location = new System.Drawing.Point(12, 37); - this.checkBoxTurnOn.Name = "checkBoxTurnOn"; - this.checkBoxTurnOn.Size = new System.Drawing.Size(116, 17); - this.checkBoxTurnOn.TabIndex = 6; - this.checkBoxTurnOn.Text = "Turn on fan control"; - this.checkBoxTurnOn.UseVisualStyleBackColor = true; - this.checkBoxTurnOn.CheckedChanged += new System.EventHandler(this.checkBoxTurnOn_CheckedChanged); - // - // labelCPUTemp - // - this.labelCPUTemp.AutoSize = true; - this.labelCPUTemp.Location = new System.Drawing.Point(141, 168); - this.labelCPUTemp.Name = "labelCPUTemp"; - this.labelCPUTemp.Size = new System.Drawing.Size(10, 13); - this.labelCPUTemp.TabIndex = 9; - this.labelCPUTemp.Text = "-"; - // - // buttonRefreshCPUTemp - // - this.buttonRefreshCPUTemp.Location = new System.Drawing.Point(12, 163); + + this.buttonRefreshCPUTemp.Location = new System.Drawing.Point(12, 140); this.buttonRefreshCPUTemp.Name = "buttonRefreshCPUTemp"; this.buttonRefreshCPUTemp.Size = new System.Drawing.Size(22, 23); - this.buttonRefreshCPUTemp.TabIndex = 8; this.buttonRefreshCPUTemp.Text = "↻"; this.buttonRefreshCPUTemp.UseVisualStyleBackColor = true; - this.buttonRefreshCPUTemp.Click += new System.EventHandler(this.buttonRefreshCPUTemp_Click); - // - // label4 - // + this.buttonRefreshCPUTemp.Click += + new System.EventHandler(this.buttonRefreshCPUTemp_Click); + this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(40, 168); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(95, 13); - this.label4.TabIndex = 7; + this.label4.Location = new System.Drawing.Point(40, 145); this.label4.Text = "Current CPU temp:"; - // - // menuStrip1 - // - this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.toolStripMenuItem1, - this.toolStripMenuItemCheckForUpdates}); - this.menuStrip1.Location = new System.Drawing.Point(0, 0); - this.menuStrip1.Name = "menuStrip1"; - this.menuStrip1.Size = new System.Drawing.Size(324, 24); - this.menuStrip1.TabIndex = 10; - this.menuStrip1.Text = "menuStrip1"; - // - // toolStripMenuItem1 - // - this.toolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.toolStripMenuItemTurnOffControlOnExit, - this.toolStripMenuItemForbidUnsafeSettings, - this.toolStripMenuItemMinimizeToTrayOnClose, - this.toolStripMenuItemAutoRefreshStats}); - this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(72, 20); - this.toolStripMenuItem1.Text = "Advanced"; - // - // toolStripMenuItemTurnOffControlOnExit - // - this.toolStripMenuItemTurnOffControlOnExit.CheckOnClick = true; - this.toolStripMenuItemTurnOffControlOnExit.Name = "toolStripMenuItemTurnOffControlOnExit"; - this.toolStripMenuItemTurnOffControlOnExit.Size = new System.Drawing.Size(207, 22); - this.toolStripMenuItemTurnOffControlOnExit.Text = "Turn off control on exit"; - this.toolStripMenuItemTurnOffControlOnExit.CheckedChanged += new System.EventHandler(this.toolStripMenuItemTurnOffControlOnExit_CheckedChanged); - // - // toolStripMenuItemForbidUnsafeSettings - // - this.toolStripMenuItemForbidUnsafeSettings.CheckOnClick = true; - this.toolStripMenuItemForbidUnsafeSettings.Name = "toolStripMenuItemForbidUnsafeSettings"; - this.toolStripMenuItemForbidUnsafeSettings.Size = new System.Drawing.Size(207, 22); - this.toolStripMenuItemForbidUnsafeSettings.Text = "Forbid unsafe settings"; - this.toolStripMenuItemForbidUnsafeSettings.CheckedChanged += new System.EventHandler(this.toolStripMenuItemForbidUnsafeSettings_CheckedChanged); - // - // toolStripMenuItemMinimizeToTrayOnClose - // - this.toolStripMenuItemMinimizeToTrayOnClose.CheckOnClick = true; - this.toolStripMenuItemMinimizeToTrayOnClose.Name = "toolStripMenuItemMinimizeToTrayOnClose"; - this.toolStripMenuItemMinimizeToTrayOnClose.Size = new System.Drawing.Size(207, 22); - this.toolStripMenuItemMinimizeToTrayOnClose.Text = "Minimize to tray on close"; - this.toolStripMenuItemMinimizeToTrayOnClose.Click += new System.EventHandler(this.toolStripMenuItemMinimizeToTrayOnClose_Click); - // - // toolStripMenuItemAutoRefreshStats - // - this.toolStripMenuItemAutoRefreshStats.CheckOnClick = true; - this.toolStripMenuItemAutoRefreshStats.Name = "toolStripMenuItemAutoRefreshStats"; - this.toolStripMenuItemAutoRefreshStats.Size = new System.Drawing.Size(207, 22); - this.toolStripMenuItemAutoRefreshStats.Text = "Auto refresh stats"; - this.toolStripMenuItemAutoRefreshStats.Click += new System.EventHandler(this.toolStripMenuItemAutoRefreshStats_Click); - // - // toolStripMenuItemCheckForUpdates - // - this.toolStripMenuItemCheckForUpdates.Name = "toolStripMenuItemCheckForUpdates"; - this.toolStripMenuItemCheckForUpdates.Size = new System.Drawing.Size(115, 20); - this.toolStripMenuItemCheckForUpdates.Text = "Check for updates"; - this.toolStripMenuItemCheckForUpdates.Click += new System.EventHandler(this.toolStripMenuItemCheckForUpdates_Click); - // - // Form1 - // + + this.labelCPUTemp.AutoSize = true; + this.labelCPUTemp.Location = new System.Drawing.Point(148, 145); + this.labelCPUTemp.Text = "-"; + + // ════════════════════════════════════════════════════════════════════ + // tabPageFanCurves + // ════════════════════════════════════════════════════════════════════ + this.tabPageFanCurves.Name = "tabPageFanCurves"; + this.tabPageFanCurves.Text = "Fan Curves"; + this.tabPageFanCurves.UseVisualStyleBackColor = false; + this.tabPageFanCurves.Padding = new System.Windows.Forms.Padding(4); + this.tabPageFanCurves.Controls.AddRange(new System.Windows.Forms.Control[] + { + this.panelCurveToolbar, + this.fanCurvePanelCpu, + this.fanCurvePanelGpu, + this.panelCurveBottom + }); + + // ── Toolbar (FlowLayoutPanel) ───────────────────────────────────────── + this.panelCurveToolbar.Dock = System.Windows.Forms.DockStyle.Top; + this.panelCurveToolbar.FlowDirection = System.Windows.Forms.FlowDirection.LeftToRight; + this.panelCurveToolbar.WrapContents = false; + this.panelCurveToolbar.Height = 38; + this.panelCurveToolbar.Padding = new System.Windows.Forms.Padding(4, 4, 4, 0); + this.panelCurveToolbar.Name = "panelCurveToolbar"; + this.panelCurveToolbar.Controls.AddRange(new System.Windows.Forms.Control[] + { + this.labelProfile, + this.profileComboBox, + this.btnSaveProfile, + this.btnNewProfile, + this.btnDeleteProfile, + this.checkBoxClampToGrid + }); + + this.labelProfile.Text = "Profile:"; + this.labelProfile.AutoSize = true; + this.labelProfile.Margin = new System.Windows.Forms.Padding(0, 7, 4, 0); + + this.profileComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.profileComboBox.DisplayMember = "Name"; + this.profileComboBox.Width = 160; + this.profileComboBox.Margin = new System.Windows.Forms.Padding(0, 4, 6, 0); + this.profileComboBox.Name = "profileComboBox"; + this.profileComboBox.SelectedIndexChanged += + new System.EventHandler(this.profileComboBox_SelectedIndexChanged); + + this.btnSaveProfile.Text = "💾 Save"; + this.btnSaveProfile.Width = 68; + this.btnSaveProfile.Height = 26; + this.btnSaveProfile.Margin = new System.Windows.Forms.Padding(0, 4, 4, 0); + this.btnSaveProfile.Name = "btnSaveProfile"; + this.btnSaveProfile.Enabled = false; + this.btnSaveProfile.Click += new System.EventHandler(this.btnSaveProfile_Click); + + this.btnNewProfile.Text = "+ New"; + this.btnNewProfile.Width = 64; + this.btnNewProfile.Height = 26; + this.btnNewProfile.Margin = new System.Windows.Forms.Padding(0, 4, 4, 0); + this.btnNewProfile.Name = "btnNewProfile"; + this.btnNewProfile.Click += new System.EventHandler(this.btnNewProfile_Click); + + this.btnDeleteProfile.Text = "🗑 Delete"; + this.btnDeleteProfile.Width = 74; + this.btnDeleteProfile.Height = 26; + this.btnDeleteProfile.Margin = new System.Windows.Forms.Padding(0, 4, 8, 0); + this.btnDeleteProfile.Name = "btnDeleteProfile"; + this.btnDeleteProfile.Enabled = false; + this.btnDeleteProfile.Click += new System.EventHandler(this.btnDeleteProfile_Click); + + this.checkBoxClampToGrid.Text = "Clamp to Grid (5°C)"; + this.checkBoxClampToGrid.AutoSize = true; + this.checkBoxClampToGrid.Margin = new System.Windows.Forms.Padding(0, 7, 0, 0); + this.checkBoxClampToGrid.Name = "checkBoxClampToGrid"; + this.checkBoxClampToGrid.CheckedChanged += + new System.EventHandler(this.checkBoxClampToGrid_CheckedChanged); + + // ── CPU Fan Curve Panel ─────────────────────────────────────────────── + this.fanCurvePanelCpu.Dock = System.Windows.Forms.DockStyle.Top; + this.fanCurvePanelCpu.Height = 210; + this.fanCurvePanelCpu.Name = "fanCurvePanelCpu"; + this.fanCurvePanelCpu.PanelTitle = "CPU Fan Profile, RPM/°C"; + this.fanCurvePanelCpu.CurveColor = System.Drawing.Color.FromArgb(79, 195, 247); + this.fanCurvePanelCpu.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + + // ── GPU Fan Curve Panel ─────────────────────────────────────────────── + this.fanCurvePanelGpu.Dock = System.Windows.Forms.DockStyle.Top; + this.fanCurvePanelGpu.Height = 210; + this.fanCurvePanelGpu.Name = "fanCurvePanelGpu"; + this.fanCurvePanelGpu.PanelTitle = "GPU Fan Profile, RPM/°C"; + this.fanCurvePanelGpu.CurveColor = System.Drawing.Color.FromArgb(239, 83, 80); + this.fanCurvePanelGpu.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + + // ── Bottom control bar ──────────────────────────────────────────────── + this.panelCurveBottom.Dock = System.Windows.Forms.DockStyle.Bottom; + this.panelCurveBottom.Height = 38; + this.panelCurveBottom.Name = "panelCurveBottom"; + this.panelCurveBottom.Controls.AddRange(new System.Windows.Forms.Control[] + { + this.btnStartCurve, + this.btnStopCurve, + this.lblCurveStatus, + this.lblLiveCpuTemp, + this.lblLiveRpm + }); + + this.btnStartCurve.Text = "▶ Start Curve Control"; + this.btnStartCurve.Location = new System.Drawing.Point(6, 6); + this.btnStartCurve.Size = new System.Drawing.Size(148, 26); + this.btnStartCurve.Name = "btnStartCurve"; + this.btnStartCurve.Click += new System.EventHandler(this.btnStartCurve_Click); + + this.btnStopCurve.Text = "■ Stop"; + this.btnStopCurve.Location = new System.Drawing.Point(160, 6); + this.btnStopCurve.Size = new System.Drawing.Size(72, 26); + this.btnStopCurve.Name = "btnStopCurve"; + this.btnStopCurve.Enabled = false; + this.btnStopCurve.Click += new System.EventHandler(this.btnStopCurve_Click); + + this.lblCurveStatus.AutoSize = false; + this.lblCurveStatus.Location = new System.Drawing.Point(240, 10); + this.lblCurveStatus.Size = new System.Drawing.Size(260, 18); + this.lblCurveStatus.Name = "lblCurveStatus"; + this.lblCurveStatus.Text = "Status: Idle"; + this.lblCurveStatus.ForeColor = System.Drawing.Color.FromArgb(140, 140, 180); + + this.lblLiveCpuTemp.AutoSize = true; + this.lblLiveCpuTemp.Location = new System.Drawing.Point(508, 10); + this.lblLiveCpuTemp.Name = "lblLiveCpuTemp"; + this.lblLiveCpuTemp.Text = "CPU: --°C"; + this.lblLiveCpuTemp.ForeColor = System.Drawing.Color.FromArgb(79, 195, 247); + + this.lblLiveRpm.AutoSize = true; + this.lblLiveRpm.Location = new System.Drawing.Point(594, 10); + this.lblLiveRpm.Name = "lblLiveRpm"; + this.lblLiveRpm.Text = "Fan: --%"; + this.lblLiveRpm.ForeColor = System.Drawing.Color.FromArgb(239, 83, 80); + + // ════════════════════════════════════════════════════════════════════ + // Form1 + // ════════════════════════════════════════════════════════════════════ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(324, 198); - this.Controls.Add(this.labelCPUTemp); - this.Controls.Add(this.buttonRefreshCPUTemp); - this.Controls.Add(this.label4); - this.Controls.Add(this.checkBoxTurnOn); - this.Controls.Add(this.labelRPM); - this.Controls.Add(this.buttonRefreshRPM); - this.Controls.Add(this.label2); - this.Controls.Add(this.labelValue); - this.Controls.Add(this.label1); - this.Controls.Add(this.trackBarFanSpeed); + this.ClientSize = new System.Drawing.Size(760, 540); + this.MinimumSize = new System.Drawing.Size(760, 540); + this.Controls.Add(this.mainTabControl); this.Controls.Add(this.menuStrip1); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MainMenuStrip = this.menuStrip1; @@ -229,16 +369,39 @@ private void InitializeComponent() this.Text = "Asus Fan Control"; this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing); this.Load += new System.EventHandler(this.Form1_Load); + + // ── Resume layouts ──────────────────────────────────────────────────── ((System.ComponentModel.ISupportInitialize)(this.trackBarFanSpeed)).EndInit(); this.menuStrip1.ResumeLayout(false); this.menuStrip1.PerformLayout(); + this.panelCurveToolbar.ResumeLayout(false); + this.panelCurveToolbar.PerformLayout(); + this.panelCurveBottom.ResumeLayout(false); + this.panelCurveBottom.PerformLayout(); + this.tabPageManual.ResumeLayout(false); + this.tabPageManual.PerformLayout(); + this.tabPageFanCurves.ResumeLayout(false); + this.mainTabControl.ResumeLayout(false); this.ResumeLayout(false); this.PerformLayout(); - } #endregion + // ── Field declarations ──────────────────────────────────────────────────── + private System.Windows.Forms.MenuStrip menuStrip1; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemTurnOffControlOnExit; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemForbidUnsafeSettings; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemMinimizeToTrayOnClose; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemAutoRefreshStats; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemCheckForUpdates; + + private System.Windows.Forms.TabControl mainTabControl; + private System.Windows.Forms.TabPage tabPageManual; + private System.Windows.Forms.TabPage tabPageFanCurves; + + // Manual tab private System.Windows.Forms.TrackBar trackBarFanSpeed; private System.Windows.Forms.Label label1; private System.Windows.Forms.Label labelValue; @@ -249,13 +412,22 @@ private void InitializeComponent() private System.Windows.Forms.Label labelCPUTemp; private System.Windows.Forms.Button buttonRefreshCPUTemp; private System.Windows.Forms.Label label4; - private System.Windows.Forms.MenuStrip menuStrip1; - private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; - private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemTurnOffControlOnExit; - private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemForbidUnsafeSettings; - private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemCheckForUpdates; - private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemMinimizeToTrayOnClose; - private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemAutoRefreshStats; + + // Fan Curves tab + private System.Windows.Forms.FlowLayoutPanel panelCurveToolbar; + private System.Windows.Forms.Label labelProfile; + private System.Windows.Forms.ComboBox profileComboBox; + private System.Windows.Forms.Button btnSaveProfile; + private System.Windows.Forms.Button btnNewProfile; + private System.Windows.Forms.Button btnDeleteProfile; + private System.Windows.Forms.CheckBox checkBoxClampToGrid; + private FanCurvePanel fanCurvePanelCpu; + private FanCurvePanel fanCurvePanelGpu; + private System.Windows.Forms.Panel panelCurveBottom; + private System.Windows.Forms.Button btnStartCurve; + private System.Windows.Forms.Button btnStopCurve; + private System.Windows.Forms.Label lblCurveStatus; + private System.Windows.Forms.Label lblLiveCpuTemp; + private System.Windows.Forms.Label lblLiveRpm; } } - diff --git a/AsusFanControlGUI/Form1.cs b/AsusFanControlGUI/Form1.cs index 1678305..1f26cab 100644 --- a/AsusFanControlGUI/Form1.cs +++ b/AsusFanControlGUI/Form1.cs @@ -1,73 +1,130 @@ -using AsusFanControl; using System; +using System.Collections.Generic; +using System.Drawing; using System.Windows.Forms; +using AsusFanControl; +using AsusFanControlGUI.Controls; +using AsusFanControlGUI.Forms; +using AsusFanControlGUI.Models; +using AsusFanControlGUI.Services; namespace AsusFanControlGUI { public partial class Form1 : Form { + // ── Existing Manual-tab state ──────────────────────────────────────────── AsusControl asusControl = new AsusControl(); int fanSpeed = 0; Timer timer; NotifyIcon trayIcon; + // ── Fan Curves tab state ───────────────────────────────────────────────── + private ProfileManager _profileManager = new ProfileManager(); + private FanCurveDaemon _daemon; + private FanCurveProfile _selectedProfile; + private bool _fanCurvesTabShownOnce = false; + + // ── Constructor ────────────────────────────────────────────────────────── public Form1() { InitializeComponent(); - AppDomain.CurrentDomain.ProcessExit += new EventHandler(OnProcessExit); + AppDomain.CurrentDomain.ProcessExit += OnProcessExit; - toolStripMenuItemTurnOffControlOnExit.Checked = Properties.Settings.Default.turnOffControlOnExit; - toolStripMenuItemForbidUnsafeSettings.Checked = Properties.Settings.Default.forbidUnsafeSettings; + // Restore settings → Manual tab + toolStripMenuItemTurnOffControlOnExit.Checked = Properties.Settings.Default.turnOffControlOnExit; + toolStripMenuItemForbidUnsafeSettings.Checked = Properties.Settings.Default.forbidUnsafeSettings; toolStripMenuItemMinimizeToTrayOnClose.Checked = Properties.Settings.Default.minimizeToTrayOnClose; - toolStripMenuItemAutoRefreshStats.Checked = Properties.Settings.Default.autoRefreshStats; + toolStripMenuItemAutoRefreshStats.Checked = Properties.Settings.Default.autoRefreshStats; trackBarFanSpeed.Value = Properties.Settings.Default.fanSpeed; - } - private void OnProcessExit(object sender, EventArgs e) - { - if (Properties.Settings.Default.turnOffControlOnExit) - asusControl.SetFanSpeeds(0); + // Dark theme across the whole form + ApplyDarkTheme(); } + // ── Form load ──────────────────────────────────────────────────────────── private void Form1_Load(object sender, EventArgs e) { timerRefreshStats(); + LoadProfiles(); + } + + private void ApplyDarkTheme() + { + // Form itself + BackColor = DarkTheme.Background; + ForeColor = DarkTheme.TextPrimary; + + // Menu strip + menuStrip1.BackColor = Color.FromArgb(18, 18, 36); + menuStrip1.ForeColor = DarkTheme.TextPrimary; + foreach (ToolStripItem item in menuStrip1.Items) + { + item.BackColor = Color.FromArgb(18, 18, 36); + item.ForeColor = DarkTheme.TextPrimary; + } + + // Tab control + mainTabControl.BackColor = DarkTheme.Background; + foreach (TabPage tp in mainTabControl.TabPages) + { + tp.BackColor = DarkTheme.Background; + tp.ForeColor = DarkTheme.TextPrimary; + } + + // Manual tab controls + foreach (Control c in tabPageManual.Controls) + { + c.BackColor = DarkTheme.Background; + c.ForeColor = DarkTheme.TextPrimary; + if (c is Button b) DarkTheme.StyleButton(b); + if (c is TrackBar tb) { tb.BackColor = DarkTheme.Background; } + if (c is CheckBox cb) { cb.BackColor = Color.Transparent; } + } + + // Fan Curves tab + DarkTheme.Apply(tabPageFanCurves); + + // Style specific buttons + DarkTheme.StyleButton(btnSaveProfile); + DarkTheme.StyleButton(btnNewProfile); + DarkTheme.StyleButton(btnDeleteProfile); + DarkTheme.StyleButton(btnStartCurve); + DarkTheme.StyleButton(btnStopCurve); + DarkTheme.StyleComboBox(profileComboBox); + } + + // ═════════════════════════════════════════════════════════════════════════ + // MANUAL TAB — existing logic (unchanged) + // ═════════════════════════════════════════════════════════════════════════ + + private void OnProcessExit(object sender, EventArgs e) + { + if (Properties.Settings.Default.turnOffControlOnExit) + asusControl.SetFanSpeeds(0); } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (Properties.Settings.Default.minimizeToTrayOnClose && Visible) { - if(trayIcon == null) + if (trayIcon == null) { trayIcon = new NotifyIcon() { Icon = Icon, - ContextMenu = new ContextMenu(new MenuItem[] { - new MenuItem("Show", (s1, e1) => - { - trayIcon.Visible = false; - Show(); - }), - new MenuItem("Exit", (s1, e1) => - { - Close(); - trayIcon.Visible = false; - Application.Exit(); - }), + ContextMenu = new ContextMenu(new MenuItem[] + { + new MenuItem("Show", (s1, e1) => { trayIcon.Visible = false; Show(); }), + new MenuItem("Exit", (s1, e1) => { Close(); trayIcon.Visible = false; Application.Exit(); }), }), }; - trayIcon.MouseClick += (s1, e1) => { - if (e1.Button != MouseButtons.Left) - return; - + if (e1.Button != MouseButtons.Left) return; trayIcon.Visible = false; Show(); }; } - trayIcon.Visible = true; e.Cancel = true; Hide(); @@ -76,18 +133,11 @@ private void Form1_FormClosing(object sender, FormClosingEventArgs e) private void timerRefreshStats() { - if (timer != null) - { - timer.Stop(); - timer = null; - } - - if (!Properties.Settings.Default.autoRefreshStats) - return; + if (timer != null) { timer.Stop(); timer = null; } + if (!Properties.Settings.Default.autoRefreshStats) return; - timer = new Timer(); - timer.Interval = 2000; - timer.Tick += new EventHandler(TimerEventProcessor); + timer = new Timer { Interval = 2000 }; + timer.Tick += TimerEventProcessor; timer.Start(); } @@ -119,7 +169,6 @@ private void toolStripMenuItemAutoRefreshStats_Click(object sender, EventArgs e) { Properties.Settings.Default.autoRefreshStats = toolStripMenuItemAutoRefreshStats.Checked; Properties.Settings.Default.Save(); - timerRefreshStats(); } @@ -134,57 +183,255 @@ private void setFanSpeed() Properties.Settings.Default.fanSpeed = value; Properties.Settings.Default.Save(); - if (!checkBoxTurnOn.Checked) - value = 0; - - if (value == 0) - labelValue.Text = "turned off"; - else - labelValue.Text = value.ToString(); + if (!checkBoxTurnOn.Checked) value = 0; - if (fanSpeed == value) - return; + labelValue.Text = value == 0 ? "turned off" : value.ToString(); + if (fanSpeed == value) return; fanSpeed = value; - asusControl.SetFanSpeeds(value); } - private void checkBoxTurnOn_CheckedChanged(object sender, EventArgs e) - { - setFanSpeed(); - } + private void checkBoxTurnOn_CheckedChanged(object sender, EventArgs e) => setFanSpeed(); private void trackBarFanSpeed_MouseCaptureChanged(object sender, EventArgs e) { if (Properties.Settings.Default.forbidUnsafeSettings) { - if (trackBarFanSpeed.Value < 40) - trackBarFanSpeed.Value = 40; - else if (trackBarFanSpeed.Value > 99) - trackBarFanSpeed.Value = 99; + if (trackBarFanSpeed.Value < 40) trackBarFanSpeed.Value = 40; + else if (trackBarFanSpeed.Value > 99) trackBarFanSpeed.Value = 99; } - setFanSpeed(); } private void trackBarFanSpeed_KeyUp(object sender, KeyEventArgs e) { - if (e.KeyCode != Keys.Left && e.KeyCode != Keys.Right) - return; - + if (e.KeyCode != Keys.Left && e.KeyCode != Keys.Right) return; trackBarFanSpeed_MouseCaptureChanged(sender, e); } private void buttonRefreshRPM_Click(object sender, EventArgs e) + => labelRPM.Text = string.Join(" ", asusControl.GetFanSpeeds()); + + private void buttonRefreshCPUTemp_Click(object sender, EventArgs e) + => labelCPUTemp.Text = $"{asusControl.Thermal_Read_Cpu_Temperature()}"; + + // ═════════════════════════════════════════════════════════════════════════ + // FAN CURVES TAB + // ═════════════════════════════════════════════════════════════════════════ + + private void mainTabControl_SelectedIndexChanged(object sender, EventArgs e) + { + if (mainTabControl.SelectedTab == tabPageFanCurves && !_fanCurvesTabShownOnce) + { + _fanCurvesTabShownOnce = true; + ElevationHelper.ShowElevationWarning(lblCurveStatus); + } + } + + // ── Profile loading ────────────────────────────────────────────────────── + private void LoadProfiles() { - labelRPM.Text = string.Join(" ", asusControl.GetFanSpeeds()); + try + { + var profiles = _profileManager.LoadAll(); + profileComboBox.Items.Clear(); + foreach (var p in profiles) + profileComboBox.Items.Add(p); + + if (profileComboBox.Items.Count > 0) + profileComboBox.SelectedIndex = 0; + } + catch (Exception ex) + { + SetStatus($"Error loading profiles: {ex.Message}", DarkTheme.ErrorRed); + } } - private void buttonRefreshCPUTemp_Click(object sender, EventArgs e) + private void profileComboBox_SelectedIndexChanged(object sender, EventArgs e) + { + _selectedProfile = profileComboBox.SelectedItem as FanCurveProfile; + if (_selectedProfile == null) return; + + bool isBuiltIn = _selectedProfile.IsBuiltIn; + + fanCurvePanelCpu.Points = new List(_selectedProfile.CpuCurve); + fanCurvePanelCpu.IsReadOnly = isBuiltIn; + + fanCurvePanelGpu.Points = new List(_selectedProfile.GpuCurve); + fanCurvePanelGpu.IsReadOnly = isBuiltIn; + + btnSaveProfile.Enabled = !isBuiltIn; + btnDeleteProfile.Enabled = !isBuiltIn; + + // Update daemon if running + if (_daemon != null && _daemon.IsRunning) + _daemon.ActiveProfile = _selectedProfile; + + SetStatus($"Profile: {_selectedProfile.Name}{(isBuiltIn ? " (read-only)" : " (custom)")}", + isBuiltIn ? DarkTheme.TextSecondary : DarkTheme.AccentBlue); + } + + // ── Clamp to Grid ──────────────────────────────────────────────────────── + private void checkBoxClampToGrid_CheckedChanged(object sender, EventArgs e) + { + fanCurvePanelCpu.ClampToGrid = checkBoxClampToGrid.Checked; + fanCurvePanelGpu.ClampToGrid = checkBoxClampToGrid.Checked; + } + + // ── Save Profile ───────────────────────────────────────────────────────── + private void btnSaveProfile_Click(object sender, EventArgs e) { - labelCPUTemp.Text = $"{asusControl.Thermal_Read_Cpu_Temperature()}"; + if (_selectedProfile == null || _selectedProfile.IsBuiltIn) return; + try + { + // Sync points from panels back to profile + _selectedProfile.CpuCurve = new List(fanCurvePanelCpu.Points); + _selectedProfile.GpuCurve = new List(fanCurvePanelGpu.Points); + _profileManager.Save(_selectedProfile); + SetStatus($"Saved: {_selectedProfile.Name}", DarkTheme.SuccessGreen); + } + catch (Exception ex) + { + SetStatus($"Save error: {ex.Message}", DarkTheme.ErrorRed); + } } + // ── New Profile ────────────────────────────────────────────────────────── + private void btnNewProfile_Click(object sender, EventArgs e) + { + string name = ProfileNameDialog.Show("New Profile", "Enter a name for the new profile:", this); + if (name == null) return; + + // Check for name collision + foreach (var item in profileComboBox.Items) + { + if (item is FanCurveProfile p && p.Name.Equals(name, StringComparison.OrdinalIgnoreCase)) + { + MessageBox.Show("A profile with that name already exists.", "Duplicate Name", + MessageBoxButtons.OK, MessageBoxIcon.Warning); + return; + } + } + + // Clone from current selection or Balanced + var source = _selectedProfile ?? BuiltInProfiles.Balanced; + var newProfile = source.Clone(name); + + try + { + _profileManager.Save(newProfile); + profileComboBox.Items.Add(newProfile); + profileComboBox.SelectedItem = newProfile; + SetStatus($"Created: {name}", DarkTheme.SuccessGreen); + } + catch (Exception ex) + { + SetStatus($"Create error: {ex.Message}", DarkTheme.ErrorRed); + } + } + + // ── Delete Profile ─────────────────────────────────────────────────────── + private void btnDeleteProfile_Click(object sender, EventArgs e) + { + if (_selectedProfile == null || _selectedProfile.IsBuiltIn) return; + + var confirm = MessageBox.Show( + $"Delete profile '{_selectedProfile.Name}'?", + "Confirm Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question); + if (confirm != DialogResult.Yes) return; + + try + { + _profileManager.Delete(_selectedProfile); + int idx = profileComboBox.SelectedIndex; + profileComboBox.Items.Remove(_selectedProfile); + if (profileComboBox.Items.Count > 0) + profileComboBox.SelectedIndex = Math.Max(0, idx - 1); + SetStatus("Profile deleted.", DarkTheme.TextSecondary); + } + catch (Exception ex) + { + SetStatus($"Delete error: {ex.Message}", DarkTheme.ErrorRed); + } + } + + // ── Start Curve Control ────────────────────────────────────────────────── + private void btnStartCurve_Click(object sender, EventArgs e) + { + if (_selectedProfile == null) + { + SetStatus("Select a profile first.", DarkTheme.WarningOrange); + return; + } + if (_daemon != null && _daemon.IsRunning) + return; + + try + { + _daemon = new FanCurveDaemon(asusControl) + { + ActiveProfile = _selectedProfile, + LetAsusControlAtLowTemps = true + }; + _daemon.StatsUpdated += OnDaemonStatsUpdated; + _daemon.ErrorOccurred += OnDaemonError; + _daemon.Start(); + + btnStartCurve.Enabled = false; + btnStopCurve.Enabled = true; + SetStatus($"▶ Running — {_selectedProfile.Name}", DarkTheme.SuccessGreen); + } + catch (Exception ex) + { + SetStatus($"Start error: {ex.Message}", DarkTheme.ErrorRed); + } + } + + // ── Stop Curve Control ─────────────────────────────────────────────────── + private void btnStopCurve_Click(object sender, EventArgs e) + { + _daemon?.Stop(); + btnStartCurve.Enabled = true; + btnStopCurve.Enabled = false; + lblLiveCpuTemp.Text = "CPU: --°C"; + lblLiveRpm.Text = "Fan: --%"; + SetStatus("■ Stopped", DarkTheme.TextSecondary); + } + + // ── Daemon callbacks (thread-pool → UI thread via Invoke) ──────────────── + private void OnDaemonStatsUpdated(float cpuTempC, float fanPercent, float fanRpm) + { + if (InvokeRequired) + { + BeginInvoke(new Action(() => OnDaemonStatsUpdated(cpuTempC, fanPercent, fanRpm))); + return; + } + lblLiveCpuTemp.Text = $"CPU: {cpuTempC:F0}°C"; + lblLiveRpm.Text = $"Fan: {fanPercent:F0}% ({fanRpm:F0} RPM)"; + } + + private void OnDaemonError(string message) + { + if (InvokeRequired) + { + BeginInvoke(new Action(() => OnDaemonError(message))); + return; + } + SetStatus($"Error: {message}", DarkTheme.ErrorRed); + } + + // ── Helpers ────────────────────────────────────────────────────────────── + private void SetStatus(string text, Color color) + { + lblCurveStatus.Text = text; + lblCurveStatus.ForeColor = color; + } + + protected override void OnFormClosed(FormClosedEventArgs e) + { + _daemon?.Stop(); + base.OnFormClosed(e); + } } } diff --git a/AsusFanControlGUI/Forms/ProfileNameDialog.cs b/AsusFanControlGUI/Forms/ProfileNameDialog.cs new file mode 100644 index 0000000..1a2c5dc --- /dev/null +++ b/AsusFanControlGUI/Forms/ProfileNameDialog.cs @@ -0,0 +1,88 @@ +using System.Windows.Forms; +using System.Drawing; + +namespace AsusFanControlGUI.Forms +{ + /// A minimal modal dialog that asks the user to type a name string. + public class ProfileNameDialog : Form + { + private TextBox _textBox; + private Button _btnOk; + private Button _btnCancel; + private Label _promptLabel; + + public string InputValue => _textBox.Text.Trim(); + + private ProfileNameDialog(string title, string prompt) + { + Text = title; + FormBorderStyle = FormBorderStyle.FixedDialog; + StartPosition = FormStartPosition.CenterParent; + ClientSize = new Size(340, 120); + MaximizeBox = false; + MinimizeBox = false; + BackColor = DarkTheme.Background; + ForeColor = DarkTheme.TextPrimary; + + _promptLabel = new Label + { + Text = prompt, + Location = new Point(12, 14), + Size = new Size(316, 18), + ForeColor = DarkTheme.TextSecondary + }; + + _textBox = new TextBox + { + Location = new Point(12, 36), + Size = new Size(316, 22), + BackColor = DarkTheme.ButtonBackground, + ForeColor = DarkTheme.TextPrimary, + BorderStyle = BorderStyle.FixedSingle + }; + + _btnOk = new Button + { + Text = "OK", + DialogResult = DialogResult.OK, + Location = new Point(156, 72), + Size = new Size(80, 28) + }; + DarkTheme.StyleButton(_btnOk); + + _btnCancel = new Button + { + Text = "Cancel", + DialogResult = DialogResult.Cancel, + Location = new Point(248, 72), + Size = new Size(80, 28) + }; + DarkTheme.StyleButton(_btnCancel); + + AcceptButton = _btnOk; + CancelButton = _btnCancel; + + Controls.Add(_promptLabel); + Controls.Add(_textBox); + Controls.Add(_btnOk); + Controls.Add(_btnCancel); + } + + /// + /// Shows the dialog. Returns the trimmed name entered by the user, or null if cancelled. + /// + public static string Show(string title, string prompt, IWin32Window owner = null) + { + using (var dlg = new ProfileNameDialog(title, prompt)) + { + var result = owner != null + ? dlg.ShowDialog(owner) + : dlg.ShowDialog(); + + if (result == DialogResult.OK && dlg.InputValue.Length > 0) + return dlg.InputValue; + return null; + } + } + } +} diff --git a/AsusFanControlGUI/Models/CurvePoint.cs b/AsusFanControlGUI/Models/CurvePoint.cs new file mode 100644 index 0000000..560b060 --- /dev/null +++ b/AsusFanControlGUI/Models/CurvePoint.cs @@ -0,0 +1,22 @@ +using System.Runtime.Serialization; + +namespace AsusFanControlGUI.Models +{ + [DataContract] + public class CurvePoint + { + [DataMember(Name = "tempC")] + public float TempC { get; set; } + + [DataMember(Name = "rpm")] + public float Rpm { get; set; } // 0 = fan stopped / OFF + + public CurvePoint() { } + + public CurvePoint(float tempC, float rpm) + { + TempC = tempC; + Rpm = rpm; + } + } +} diff --git a/AsusFanControlGUI/Models/FanCurveProfile.cs b/AsusFanControlGUI/Models/FanCurveProfile.cs new file mode 100644 index 0000000..2c6a822 --- /dev/null +++ b/AsusFanControlGUI/Models/FanCurveProfile.cs @@ -0,0 +1,42 @@ +using System.Collections.Generic; +using System.Runtime.Serialization; + +namespace AsusFanControlGUI.Models +{ + [DataContract] + public class FanCurveProfile + { + [DataMember(Name = "name")] + public string Name { get; set; } + + [DataMember(Name = "isBuiltIn")] + public bool IsBuiltIn { get; set; } + + [DataMember(Name = "cpuCurve")] + public List CpuCurve { get; set; } + + [DataMember(Name = "gpuCurve")] + public List GpuCurve { get; set; } + + public FanCurveProfile() + { + CpuCurve = new List(); + GpuCurve = new List(); + } + + /// Returns a deep copy of this profile (for Custom derivation). + public FanCurveProfile Clone(string newName = null) + { + var clone = new FanCurveProfile + { + Name = newName ?? Name, + IsBuiltIn = false, + CpuCurve = new List(), + GpuCurve = new List() + }; + foreach (var pt in CpuCurve) clone.CpuCurve.Add(new CurvePoint(pt.TempC, pt.Rpm)); + foreach (var pt in GpuCurve) clone.GpuCurve.Add(new CurvePoint(pt.TempC, pt.Rpm)); + return clone; + } + } +} diff --git a/AsusFanControlGUI/Program.cs b/AsusFanControlGUI/Program.cs index 7dd3541..34bb88a 100644 --- a/AsusFanControlGUI/Program.cs +++ b/AsusFanControlGUI/Program.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Windows.Forms; namespace AsusFanControlGUI @@ -8,12 +8,44 @@ internal static class Program /// /// The main entry point for the application. /// + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] + static void RunForm() + { + System.IO.File.AppendAllText("trace.log", "Before Form1 instantiation...\n"); + var form = new Form1(); + System.IO.File.AppendAllText("trace.log", "Form1 instantiated. Running...\n"); + Application.Run(form); + System.IO.File.AppendAllText("trace.log", "Application Run finished legally.\n"); + } + [STAThread] static void Main() { - Application.EnableVisualStyles(); - Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new Form1()); + try + { + Environment.CurrentDirectory = System.IO.Path.GetDirectoryName(Application.ExecutablePath); + System.IO.File.WriteAllText("trace.log", "Starting application...\n"); + + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + + Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); + Application.ThreadException += (s, e) => { + System.IO.File.AppendAllText("trace.log", "Thread Error: " + e.Exception.ToString() + "\n"); + MessageBox.Show("Thread Error: " + e.Exception.ToString(), "Crash", MessageBoxButtons.OK, MessageBoxIcon.Error); + }; + AppDomain.CurrentDomain.UnhandledException += (s, e) => { + System.IO.File.AppendAllText("trace.log", "AppDomain Error: " + e.ExceptionObject.ToString() + "\n"); + MessageBox.Show("AppDomain Error: " + e.ExceptionObject.ToString(), "Crash", MessageBoxButtons.OK, MessageBoxIcon.Error); + }; + + RunForm(); + } + catch (Exception ex) + { + System.IO.File.AppendAllText("trace.log", "Main Exception: " + ex.ToString() + "\n"); + MessageBox.Show("Main Exception: " + ex.ToString(), "Crash", MessageBoxButtons.OK, MessageBoxIcon.Error); + } } } } diff --git a/AsusFanControlGUI/Services/BuiltInProfiles.cs b/AsusFanControlGUI/Services/BuiltInProfiles.cs new file mode 100644 index 0000000..1dd1025 --- /dev/null +++ b/AsusFanControlGUI/Services/BuiltInProfiles.cs @@ -0,0 +1,88 @@ +using System.Collections.Generic; +using AsusFanControlGUI.Models; + +namespace AsusFanControlGUI.Services +{ + public static class BuiltInProfiles + { + public static readonly FanCurveProfile Turbo = new FanCurveProfile + { + Name = "Turbo", + IsBuiltIn = true, + CpuCurve = new List + { + new CurvePoint(30, 2500), + new CurvePoint(45, 3800), + new CurvePoint(50, 4300), + new CurvePoint(60, 4800), + new CurvePoint(70, 5200), + new CurvePoint(80, 5600), + new CurvePoint(90, 5800), + new CurvePoint(100, 6100), + }, + GpuCurve = new List + { + new CurvePoint(30, 2800), + new CurvePoint(45, 4000), + new CurvePoint(50, 4600), + new CurvePoint(60, 4300), + new CurvePoint(65, 5200), + new CurvePoint(70, 5300), + new CurvePoint(80, 5800), + new CurvePoint(100, 6400), + } + }; + + public static readonly FanCurveProfile Balanced = new FanCurveProfile + { + Name = "Balanced", + IsBuiltIn = true, + CpuCurve = new List + { + new CurvePoint(30, 0), + new CurvePoint(60, 2200), + new CurvePoint(65, 2600), + new CurvePoint(70, 3300), + new CurvePoint(75, 4200), + new CurvePoint(80, 4300), + new CurvePoint(100, 4900), + }, + GpuCurve = new List + { + new CurvePoint(30, 0), + new CurvePoint(60, 2200), + new CurvePoint(65, 2800), + new CurvePoint(70, 3800), + new CurvePoint(80, 4200), + new CurvePoint(90, 4300), + new CurvePoint(100, 5200), + } + }; + + public static readonly FanCurveProfile Silent = new FanCurveProfile + { + Name = "Silent", + IsBuiltIn = true, + CpuCurve = new List + { + new CurvePoint(30, 0), + new CurvePoint(60, 0), + new CurvePoint(70, 1800), + new CurvePoint(80, 2800), + new CurvePoint(90, 3600), + new CurvePoint(100, 4200), + }, + GpuCurve = new List + { + new CurvePoint(30, 0), + new CurvePoint(60, 0), + new CurvePoint(70, 1800), + new CurvePoint(80, 2800), + new CurvePoint(90, 3600), + new CurvePoint(100, 4200), + } + }; + + public static List All => new List { Turbo, Balanced, Silent }; + } +} diff --git a/AsusFanControlGUI/Services/FanCurveDaemon.cs b/AsusFanControlGUI/Services/FanCurveDaemon.cs new file mode 100644 index 0000000..034804d --- /dev/null +++ b/AsusFanControlGUI/Services/FanCurveDaemon.cs @@ -0,0 +1,163 @@ +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using AsusFanControl; +using AsusFanControlGUI.Models; + +namespace AsusFanControlGUI.Services +{ + /// + /// Background daemon that polls CPU temperature every 2 seconds, interpolates the + /// active fan curve, and applies the result via AsusControl. + /// + public class FanCurveDaemon + { + private readonly AsusControl _asusControl; + private CancellationTokenSource _cts; + private Task _task; + + /// The profile applied by the daemon. Set before calling Start(). + public FanCurveProfile ActiveProfile { get; set; } + + /// + /// When true and the interpolated RPM is 0, the daemon sends percent=0 which + /// exits manual mode and lets ASUS firmware control the fan. + /// When false, the daemon physically enforces 0% duty cycle. + /// + public bool LetAsusControlAtLowTemps { get; set; } = true; + + public bool IsRunning => _task != null && !_task.IsCompleted; + + public const float MaxRpm = 7000f; + + /// Fired on the thread pool with (cpuTempC, cpuFanPercent, cpuFanRpm). + public event Action StatsUpdated; + + /// Fired on the thread pool when an error occurs in the loop. + public event Action ErrorOccurred; + + public FanCurveDaemon(AsusControl asusControl) + { + _asusControl = asusControl; + } + + public void Start() + { + if (IsRunning) return; + if (ActiveProfile == null) + throw new InvalidOperationException("ActiveProfile must be set before starting the daemon."); + + _cts = new CancellationTokenSource(); + _task = Task.Run(() => Loop(_cts.Token), _cts.Token); + } + + public void Stop() + { + _cts?.Cancel(); + try { _task?.Wait(3000); } catch { } + _task = null; + } + + private void Loop(CancellationToken ct) + { + while (!ct.IsCancellationRequested) + { + try + { + // ── Read CPU temp ──────────────────────────────────────────────── + float cpuTemp = (float)_asusControl.Thermal_Read_Cpu_Temperature(); + + // ── Interpolate CPU fan target ─────────────────────────────────── + var cpuCurve = ActiveProfile?.CpuCurve; + if (cpuCurve != null && cpuCurve.Count > 0) + { + float targetRpm = InterpolateRpm(cpuCurve, cpuTemp); + int percent = (int)Math.Round(targetRpm / MaxRpm * 100f); + percent = Math.Max(0, Math.Min(100, percent)); + + if (targetRpm == 0 && LetAsusControlAtLowTemps) + _asusControl.SetFanSpeeds(0); // 0 → exits test mode + else + _asusControl.SetFanSpeeds(percent); + + // ── Read back actual RPM (fan 0) ───────────────────────────── + float actualRpm = 0; + try + { + var speeds = _asusControl.GetFanSpeeds(); + if (speeds != null && speeds.Count > 0) + actualRpm = speeds[0]; + } + catch { } + + StatsUpdated?.Invoke(cpuTemp, percent, actualRpm); + } + + // ── GPU fan (only if 2+ fans detected) ────────────────────────── + try + { + int fanCount = _asusControl.HealthyTable_FanCounts(); + if (fanCount > 1) + { + var gpuCurve = ActiveProfile?.GpuCurve; + if (gpuCurve != null && gpuCurve.Count > 0) + { + // GPU temp is not directly readable via AsusWinIO64 in this + // rev of the DLL, so we skip GPU-specific interpolation and + // mirror CPU percent to GPU fan as a safe approximation. + // If GPU temp becomes available, plug it in here. + float gpuTargetRpm = InterpolateRpm(gpuCurve, cpuTemp); + int gpuPercent = (int)Math.Round(gpuTargetRpm / MaxRpm * 100f); + gpuPercent = Math.Max(0, Math.Min(100, gpuPercent)); + // Set fan index 1 specifically + if (gpuTargetRpm == 0 && LetAsusControlAtLowTemps) + { + _asusControl.SetFanSpeed(0, 1); + } + else + { + _asusControl.SetFanSpeed(gpuPercent, 1); + } + } + } + } + catch { /* GPU fan optional — never crash the loop */ } + } + catch (OperationCanceledException) + { + break; + } + catch (Exception ex) + { + ErrorOccurred?.Invoke(ex.Message); + } + + // Wait 2 seconds or until cancelled + try { Task.Delay(2000, ct).Wait(); } + catch (AggregateException ae) when (ae.InnerException is TaskCanceledException) { break; } + } + } + + /// Linear interpolation across sorted CurvePoint list. + public static float InterpolateRpm(List curve, float tempC) + { + if (curve == null || curve.Count == 0) return 0; + if (tempC <= curve[0].TempC) return curve[0].Rpm; + if (tempC >= curve[curve.Count - 1].TempC) return curve[curve.Count - 1].Rpm; + + for (int i = 0; i < curve.Count - 1; i++) + { + var p1 = curve[i]; + var p2 = curve[i + 1]; + if (tempC >= p1.TempC && tempC <= p2.TempC) + { + float t = (tempC - p1.TempC) / (p2.TempC - p1.TempC); + return p1.Rpm + (p2.Rpm - p1.Rpm) * t; + } + } + + return curve[curve.Count - 1].Rpm; + } + } +} diff --git a/AsusFanControlGUI/Services/ProfileManager.cs b/AsusFanControlGUI/Services/ProfileManager.cs new file mode 100644 index 0000000..bfc05fc --- /dev/null +++ b/AsusFanControlGUI/Services/ProfileManager.cs @@ -0,0 +1,97 @@ +using System.Collections.Generic; +using System.IO; +using System.Runtime.Serialization.Json; +using System.Text; +using AsusFanControlGUI.Models; + +namespace AsusFanControlGUI.Services +{ + public class ProfileManager + { + public static readonly string ProfilesDir = Path.Combine( + System.Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData), + "AsusFanControl", "profiles"); + + /// Returns built-in profiles plus all saved user profiles. + public List LoadAll() + { + var profiles = BuiltInProfiles.All; + + if (!Directory.Exists(ProfilesDir)) + Directory.CreateDirectory(ProfilesDir); + + foreach (var file in Directory.GetFiles(ProfilesDir, "*.json")) + { + try + { + var profile = LoadFromFile(file); + if (profile != null) + { + profile.IsBuiltIn = false; + profiles.Add(profile); + } + } + catch { /* skip corrupt files */ } + } + + return profiles; + } + + /// Serializes a user-created profile to JSON and saves it. + public void Save(FanCurveProfile profile) + { + if (profile.IsBuiltIn) + throw new System.InvalidOperationException("Cannot save a built-in profile."); + + if (!Directory.Exists(ProfilesDir)) + Directory.CreateDirectory(ProfilesDir); + + var path = Path.Combine(ProfilesDir, SanitizeFileName(profile.Name) + ".json"); + var json = Serialize(profile); + File.WriteAllText(path, json, Encoding.UTF8); + } + + /// Deletes a user-created profile file. + public void Delete(FanCurveProfile profile) + { + if (profile.IsBuiltIn) + throw new System.InvalidOperationException("Cannot delete a built-in profile."); + + var path = Path.Combine(ProfilesDir, SanitizeFileName(profile.Name) + ".json"); + if (File.Exists(path)) + File.Delete(path); + } + + // ── Serialization helpers using DataContractJsonSerializer ────────────── + + private static string Serialize(FanCurveProfile profile) + { + var serializer = new DataContractJsonSerializer(typeof(FanCurveProfile)); + using (var ms = new MemoryStream()) + { + using (var writer = JsonReaderWriterFactory.CreateJsonWriter(ms, Encoding.UTF8, true, true, " ")) + { + serializer.WriteObject(writer, profile); + writer.Flush(); + } + return Encoding.UTF8.GetString(ms.ToArray()); + } + } + + private static FanCurveProfile LoadFromFile(string path) + { + var serializer = new DataContractJsonSerializer(typeof(FanCurveProfile)); + using (var fs = File.OpenRead(path)) + { + return (FanCurveProfile)serializer.ReadObject(fs); + } + } + + private static string SanitizeFileName(string name) + { + foreach (var c in Path.GetInvalidFileNameChars()) + name = name.Replace(c, '_'); + return name; + } + } +} diff --git a/README.md b/README.md index c132c78..24e8904 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ GUI: `AsusFanControlGUI.exe` ![AsusFanControlGUI](https://github.com/Karmel0x/AsusFanControl/assets/25367564/fe197ad0-7079-4d51-ae78-177cb6369e96) +![Fan Curves UI](fan-curve-tab-gui.png) ### Why need it? My laptop does not support the [Fan Profile](https://github.com/Karmel0x/AsusFanControl/assets/25367564/924d990a-bf20-4b8d-bf9d-56c460174d99) option, but it often overheats. Looked for apps to control fans, but none is working. diff --git a/fan-curve-tab-gui.png b/fan-curve-tab-gui.png new file mode 100644 index 0000000000000000000000000000000000000000..e99a6c899460560d5ff052a45845ea43b8a0f5f1 GIT binary patch literal 144605 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 z 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

%hN&G`rorU`zsd}K8@rKKHZABW#BNukZ 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 ZYxuDfHq!D@lM^DqV`*l6iez#r`d=Gez%&2= literal 0 HcmV?d00001 diff --git a/ui-ss/fan-curve-tab-gui.png b/ui-ss/fan-curve-tab-gui.png new file mode 100644 index 0000000000000000000000000000000000000000..e99a6c899460560d5ff052a45845ea43b8a0f5f1 GIT binary patch literal 144605 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 z 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

%hN&G`rorU`zsd}K8@rKKHZABW#BNukZ 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 ZYxuDfHq!D@lM^DqV`*l6iez#r`d=Gez%&2= literal 0 HcmV?d00001 From 45cb473e69364381501f23bbb320ad4e38764030 Mon Sep 17 00:00:00 2001 From: AnonAmit Date: Wed, 8 Apr 2026 13:11:58 +0530 Subject: [PATCH 2/2] docs: Update README with new Fan Curve features --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index 24e8904..16430cf 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,18 @@ GUI: `AsusFanControlGUI.exe` ![AsusFanControlGUI](https://github.com/Karmel0x/AsusFanControl/assets/25367564/fe197ad0-7079-4d51-ae78-177cb6369e96) +### 🚀 NEW: Automatic Fan Curve Control + +You can now set intelligent, dynamic temperature-based fan curves exactly like you would in a top-tier BIOS! + ![Fan Curves UI](fan-curve-tab-gui.png) + +Features: +- **Interactive Graphing Editor**: Completely custom-built GUI with draggable nodes. +- **Background Daemon**: A multithreaded daemon safely manages standard background interpolation. +- **Custom Profiles**: Create, save, edit, and delete multiple custom curves. +- **Smart Hysteresis & Safety Defaults**: The fans will gracefully handle spikes and automatically kick up to 100% outside safe operating ranges. +- **Dark Theme Interface**: A totally remodeled UI following sleek, modern visual guidelines. ### Why need it? My laptop does not support the [Fan Profile](https://github.com/Karmel0x/AsusFanControl/assets/25367564/924d990a-bf20-4b8d-bf9d-56c460174d99) option, but it often overheats. Looked for apps to control fans, but none is working.