Skip to content

Repository files navigation

Thermals

A lightweight system monitor that lives in your Windows system tray, built with Java Swing and a dark JetBrains-inspired look.

The tray icon changes color in real time based on your CPU temperature (green when cool, red when hot). Left-click it to open a compact popup with live stats and graphs for CPU, GPU, RAM, disk, and network.


Features

  • Temperature-driven tray icon (green to red color gradient)
  • Live per-component panels with scrolling history graphs
  • CPU usage, frequency, temperature, and core stats
  • GPU, RAM, disk, and network monitoring panels
  • Dark theme with rounded cards
  • Overflow error if you run the app for a few years :)

Tech Stack

Library Purpose
AWT and Swing Tray Icon and Popup UI
FlatLaf Dark look-and-feel
OSHI Hardware & sensor data
JFreeChart Live history graphs

Data Sources

Component Windows Linux
CPU temps OSHI / LibreHardwareMonitor OSHI
GPU temps (NVIDIA) LibreHardwareMonitor nvidia-smi
GPU temps (AMD) LibreHardwareMonitor sysfs hwmon (/sys/class/hwmon/)
RAM, disk, network OSHI OSHI

Supported Platforms

OS Supported?
Windows Yes
Linux Not Yet
macOS No

If you are willing to add support for any of the unsupported platforms, I'd be happy to merge a PR!

Requirements

  • Java 17+

Building

./gradlew build

Run with:

./gradlew run

The app starts minimized to the system tray. Left-click the icon to open the stats window. Right-click for a context menu with an exit option.


AI Usage Disclaimer

I used AI as a mentor for working through UI layout decisions and architecture questions. All code was written by me. I also used it for writing docs, such as parts of this README you're reading right now.


License

Licensed under the GNU General Public License v3.0 (GPL-3.0-only). See LICENSE for details.

About

A desktop app for displaying thermal and load information about your machine, written in Java.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages