Skip to content

tuxctl v0.2.2

Choose a tag to compare

@Seqat Seqat released this 22 Sep 20:50
· 103 commits to main since this release
a23e6c2

v0.2.2 makes tuxctl lighter while idle and fixes the Overview layout on narrow terminals. No keys or screens changed.

Collector lifecycle

  • journalctl now starts the first time you open the Logs tab instead of at startup.
  • Services are only collected while the Services tab is visible. Each time you open it, the list refreshes once, and no systemctl runs while the tab is hidden.
  • A paused Services collector is no longer shown as stale.
  • Idle cost drops as a result:
    • startup RSS is about 250 kB lower
    • after 15 minutes on Overview, RSS is about 5.4 MiB (6.1 MiB in v0.2.1)
    • idle CPU is slightly lower

Narrow-layout fixes

  • Overview no longer hides logical CPUs without a "… N more" line.
  • A taller terminal never shows fewer CPUs than a shorter one.
  • RAM, GPU, storage, and network are no longer drawn as headings without content; a section that doesn't fit is left out.
  • Dense CPU cells keep a space between the label and the value.
  • Tab labels no longer run together at 40 columns. Narrow terminals use short labels (Ovr Proc Svc Logs Net), and mouse clicks follow them.

Verification

  • 278 automated tests passing, including resize sweeps across 40–160 columns and 15–60 rows
  • cargo fmt --check PASS
  • cargo check PASS
  • cargo clippy --all-targets --all-features PASS
  • cargo test PASS
  • cargo build --release PASS

Minimum supported terminal size: 40×15. Minimum supported Rust version: 1.88.

Installation

Linux only

git clone https://github.com/Seqat/tuxctl.git
cd tuxctl
cargo install --path .

Then run:

tuxctl

Full Changelog: v0.2.1...v0.2.2