Repository navigation
Releases: amirmwhdi/CoreWatch
Release list
Corewatch 0.3.0
Full Changelog: v0.2.0...v0.3.0
Corewatch 0.2.0
Full Changelog: v0.1.1...v0.2.0
Corewatch 0.1.1 — Logging and diagnostics
A small follow-up to 0.1.0 that makes problems easier to diagnose and report.
What's new
- Log file: logs are written to
~/.local/state/corewatch/logs/(or$XDG_STATE_HOME). The file rotates daily and keeps the last 7 days. - Startup banner: each log starts with the version, GTK/libadwaita runtime versions, distro, kernel, session type and whether it runs under Flatpak.
- Clear error reasons: every error has a short kind (
io.not_found,io.permission,parse) plus its full cause chain. - Less noise: a collector that keeps failing logs one warning, a summary every 60 seconds, and one line when it recovers. It no longer logs once per second.
- Crash reports: panics are logged with the thread name and a backtrace.
- Command-line options:
--verbose/-v,--version/-V,--help/-h. You can also use theCOREWATCH_LOGenvironment variable (e.g.COREWATCH_LOG=debug). - When a module can't start, the empty page now suggests running
corewatch --verbosefor details.
Reporting a bug
Run corewatch --verbose from a terminal, or attach the latest file from ~/.local/state/corewatch/logs/.
Requirements
Unchanged: GTK ≥ 4.18 and libadwaita ≥ 1.7 (Debian 13 or newer, Arch, Fedora).
Corewatch 0.1.0 — First preview: CPU and memory
The first runnable preview of Corewatch, a native Linux system monitor built with Rust, GTK 4 and libadwaita.
Everything your system is doing, in one place.
What's in 0.1.0
Processor
- Model name, physical cores and threads
- Total usage with a 60-second history graph
- One live graph per logical core
- Current frequency (fastest core), or "Unknown" where the kernel doesn't expose it
Memory
- Used, available, cache and buffers
- Swap usage with a level bar
- 60-second history graph
Interface
- Follows the system light/dark style and accent color
- Adaptive layout: the sidebar collapses below 600 px
- Live usage summary in each sidebar row
Under the hood
- Modular design: every resource is one data collector plus one page, so disks, network, processes and GPU plug in without touching the core
- Data collection runs on a background thread; the UI never reads
/procdirectly - 21 automated tests; CI on Debian 13 (minimum supported libraries) and Arch Linux (newest)
Requirements
GTK 4.18+ and libadwaita 1.7+ (Debian 13, Ubuntu 26.04, Fedora 42+, Arch, openSUSE Tumbleweed or newer).
Tested on Arch Linux (GNOME, Wayland)
Build and run
No packages yet; build from source:
git clone https://github.com/amirmwhdi/CoreWatch.git
cd CoreWatch
cargo run -p corewatch --releaseSee the README for build dependencies per distribution.
Known limitations
- CPU and memory only; disks, network, processes and GPU come in later versions
- English only; translations (Persian first) arrive in 0.2
- No settings yet: fixed 1-second update interval
- Logs go to the terminal only (
RUST_LOG=debug); file logging comes in 0.1.1 - If a data source fails while running, its page pauses silently
- No Flatpak or distribution packages yet (planned for 0.4)
What's next
- 0.1.1: diagnostic logging (log file, startup report, error codes,
--verbose) - 0.2: disk module, Meson build, Blueprint UI, translations
Licensed under GPL-3.0-or-later.