How neuelsamsec/librepro works
LibreHardwareMonitor is a hardware-sensor monitoring library and Windows Forms application. The principal workflow is to open a Computer, discover enabled hardware, update it through the visitor model, and expose sensor readings to an application or the graphical interface. The UI also presents readings in a hardware tree, plots, tray icons, and gadgets; the tree additionally includes an HTTP server and web assets. The README documents the library’s update workflow and device categories. Sampled implementation excerpts cover storage discovery and selected controller drivers, not the full UI-to-library wiring.
Main entry points: Computer.cs Computer facade · MainForm.cs Main window · Program.cs App startup · TreeModel.cs UI hardware model
Components 19
Application and UI
- App startup
LibreHardwareMonitor.Windows.Forms/Program.cs - Main window
LibreHardwareMonitor.Windows.Forms/UI/MainForm.cs - UI hardware model
LibreHardwareMonitor.Windows.Forms/UI/TreeModel.cs - Hardware tree
Aga.Controls/Tree/TreeViewAdv.cs - Sensor plots
LibreHardwareMonitor.Windows.Forms/UI/PlotPanel.cs - Tray and gadget
LibreHardwareMonitor.Windows.Forms/UI/SystemTray.cs
Monitoring core
- Computer facade
LibreHardwareMonitorLib/Hardware/Computer.cs - Update visitor
LibreHardwareMonitor.Windows.Forms/UI/UpdateVisitor.cs - Hardware and sensors
LibreHardwareMonitorLib/Hardware/Hardware.cs - Sensor values
LibreHardwareMonitorLib/Hardware/Sensor.cs
Hardware acquisition
- CPU and GPU
LibreHardwareMonitorLib/Hardware/Cpu/CpuGroup.cs - Motherboard
LibreHardwareMonitorLib/Hardware/Motherboard/MotherboardGroup.cs - Storage devices
LibreHardwareMonitorLib/Hardware/Storage/StorageGroup.cs - Network devices
LibreHardwareMonitorLib/Hardware/Network/NetworkGroup.cs - Device controllers
LibreHardwareMonitorLib/Hardware/Controller
Interfaces and controls
- HTTP server
LibreHardwareMonitor.Windows.Forms/Utilities/HttpServer.cs - Web assets
LibreHardwareMonitor.Windows.Forms/Resources/Web/js/ohm_web.js
Other components
- User
- Library consumer
Connections 17
- User → App startup: launches
- App startup → Main window: opens
- Main window → Computer facade: manages monitoring
- Library consumer → Computer facade: opens and updates
- Computer facade → Update visitor: accepts
- Update visitor → Hardware and sensors: updates hardware
- Hardware and sensors → Sensor values: updates values
- Computer facade → CPU and GPU: discovers
- Computer facade → Motherboard: discovers
- Computer facade → Storage devices: discovers
- Computer facade → Network devices: discovers
- Computer facade → Device controllers: discovers
- Main window → UI hardware model: presents readings
- UI hardware model → Hardware tree: supplies tree data
- Main window → Sensor plots: shows sensor plots
- Main window → Tray and gadget: offers tray views
- HTTP server → Web assets: serves assets