bloom 60197b6f92 Gadget Styling (Background Color) (#2282)
* Add background tinting and color picker to gadget

-Replaced barblue.png and gadget.png with desaturated versions.
-Added background tinting support (_backTinted, _backgroundColor, _backgroundDirty), switched _barFore to use bar.png, and dispose tinted background resources during cleanup.
-Reworked font color selection UX and mirrored the same chooser flow for background color.

* Fix Gadget bars and HSV color picker UI + Icon

-Fixed gadget bars to tint with selected background color
-Updated color picker flow with a themed, resizable HSV picker.
-Applied LibreHardwareMonitor icon and current app theme to the picker window.

* Hex values and finalize color tinting

-Added Copy/Paste to hex value field.
-Fixed color tinting to respect true grayscale/dark hex values (e.g. #000000) .
-Utilization bars now follow font color tinting.

* Utilization bars fix

-Fixed utilization bar tinting to follow the selected font color directly

* Github Copilot Suggestions

-Forced grayscale-safe background tint behavior, switched background tint processing to LockBits.
-Preserved custom bar override images by skipping tint on user-provided bar assets.
-Fixed PArgb premultiplication in tint output to remove edge halo artifacts.

* Restrict workingSource to Format32bppArgb

-Normalized CreateBackgroundTint sources to Format32bppArgb before LockBits so premultiplied PArgb images are not processed with non-premultiplied ARGB tint math.

* Windows accessibility text scaling

-Adjusted picker layout to scale correctly when Windows Text Size is increased in Accessibility settings.
2026-04-02 10:36:44 +02:00
2025-12-20 14:33:56 +01:00
2026-03-15 11:05:29 +01:00
2025-09-29 18:48:00 +02:00
…

LibreHardwareMonitor

GitHub license Nuget Nuget (with prereleases) Nuget

Libre Hardware Monitor is free software that can monitor the temperature sensors, fan speeds, voltages, load and clock speeds of your computer.

What's included?

Name .NET Build Status
LibreHardwareMonitor
Windows Forms based application that presents all data in a graphical interface
.NET Framework 4.7.2
.NET 10.0
Build status
LibreHardwareMonitorLib
Library that allows you to use all features in your own application
.NET Framework 4.7.2
.NET Standard 2.0
.NET 8.0, .NET 9.0, and .NET 10.0
Build status

What can it do?

You can read information from devices such as:

  • Motherboards
  • Intel and AMD processors
  • NVIDIA, AMD and Intel graphics cards
  • HDD, SSD and NVMe hard drives
  • Network cards

Where can I download it?

You can download the latest release here. You can also install it using WinGet:

winget install LibreHardwareMonitor.LibreHardwareMonitor

Nightly builds

If you have a GitHub account, you can download nightly builds here. Otherwise, you can download the latest nightly build here.

How can I help improve it?

The LibreHardwareMonitor team welcomes feedback and contributions!
You can check if it works properly on your motherboard. For many manufacturers, the way of reading data differs a bit, so if you notice any inaccuracies, please send us a pull request. If you have any suggestions or improvements, don't hesitate to create an issue.

Developer information

Integrate the library in own application

  1. Add the LibreHardwareMonitorLib NuGet package to your application.
  2. Use the sample code below.

Sample code

public class UpdateVisitor : IVisitor
{
    public void VisitComputer(IComputer computer)
    {
        computer.Traverse(this);
    }
    public void VisitHardware(IHardware hardware)
    {
        hardware.Update();
        foreach (IHardware subHardware in hardware.SubHardware) subHardware.Accept(this);
    }
    public void VisitSensor(ISensor sensor) { }
    public void VisitParameter(IParameter parameter) { }
}

public void Monitor()
{
    Computer computer = new Computer
    {
        IsCpuEnabled = true,
        IsGpuEnabled = true,
        IsMemoryEnabled = true,
        IsMotherboardEnabled = true,
        IsControllerEnabled = true,
        IsNetworkEnabled = true,
        IsStorageEnabled = true
    };

    computer.Open();
    computer.Accept(new UpdateVisitor());

    foreach (IHardware hardware in computer.Hardware)
    {
        Console.WriteLine("Hardware: {0}", hardware.Name);
        
        foreach (IHardware subhardware in hardware.SubHardware)
        {
            Console.WriteLine("\tSubhardware: {0}", subhardware.Name);
            
            foreach (ISensor sensor in subhardware.Sensors)
            {
                Console.WriteLine("\t\tSensor: {0}, value: {1}", sensor.Name, sensor.Value);
            }
        }

        foreach (ISensor sensor in hardware.Sensors)
        {
            Console.WriteLine("\tSensor: {0}, value: {1}", sensor.Name, sensor.Value);
        }
    }
    
    computer.Close();
}

Administrator rights

Some sensors require administrator privileges to access the data. Restart your IDE with admin privileges, or add an app.manifest file to your project with requestedExecutionLevel on requireAdministrator.

License

LibreHardwareMonitor is free and open source software licensed under MPL 2.0. Some parts of LibreHardwareMonitor are licensed under different terms, see THIRD-PARTY-LICENSES.

S
Description
ReLibreHardwareMonitor, home of the fork of LibreHardwareMonitor
Readme MPL-2.0
14 MiB
v0.1.0
Latest
2026-06-12 17:05:48 +00:00
Languages
C# 97.6%
JavaScript 2.2%
HTML 0.1%