Skip to content

Releases: amirmwhdi/CoreWatch

Corewatch 0.3.0

Choose a tag to compare

@github-actions github-actions released this 26 Oct 05:33

Full Changelog: v0.2.0...v0.3.0

Corewatch 0.2.0

Choose a tag to compare

@github-actions github-actions released this 24 Oct 10:27

Full Changelog: v0.1.1...v0.2.0

Corewatch 0.1.1 — Logging and diagnostics

Choose a tag to compare

@amirmwhdi amirmwhdi released this 08 Oct 15:07

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 the COREWATCH_LOG environment variable (e.g. COREWATCH_LOG=debug).
  • When a module can't start, the empty page now suggests running corewatch --verbose for 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

Choose a tag to compare

@amirmwhdi amirmwhdi released this 08 Oct 13:57

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 /proc directly
  • 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 --release

See 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.