wtop

michaelsanford·michaelsanford.wtop

Windows re-imagining of htop, written in Go

A self-contained, single-binary system monitor for Windows β€” inspired by htop. CPU, memory, GPU, network, and processes. Live. In your terminal.

winget install --id michaelsanford.wtop --exact --source winget

Latest 1.2.0·June 23, 2026

Release Notes

v1.2.0 - Pool Release Notes: v1.1.0 β†’ v1.2.0 This release introduces significant performance optimizations (including parallel process collection and native GPU engine monitoring), layout and input enhancements, supply chain signature verification, and a streamlined Windows-native CI pipeline running on Go 1.26.4. πŸš€ Performance Improvements

  • Parallel Process Collection: Consolidated and parallelized process metadata querying using a concurrent worker pool (16 workers). This yields a ~22% speedup at idle, reducing average cycle collection time from ~31.3ms to ~24.4ms.
  • Native GPU Engine Queries: Replaced the expensive PowerShell-based subprocess querying (Get-Counter) with a native Go implementation using Windows DXGI (for VRAM capacities/utilization) and PDH counter APIs (for 3D engine utilization). This reduces non-NVIDIA GPU query time from several seconds down to < 1ms, eliminating CPU spikes during collection. 🎨 User Experience & UI Enhancements
  • Responsive Top Panel Layout: Added a dynamic 3-column top panel (Memory | GPU | Network) that automatically displays on terminals wider than 110 characters. On narrower screens, it gracefully falls back to a 2-column layout (Memory | GPU) to preserve space.
  • Full Table Mouse & Navigation Support: Forwarded all terminal events to bubbles/table, enabling native mouse selection (click-to-focus), scroll-wheel list scrolling, and standard page key navigation (PageUp, PageDown, Home, End).
  • StatusBar Wrap Prevention: Implemented rune-safe truncation for status bar elements (hostname, version, and legends) to prevent ugly wrapping on narrow screen widths.
  • Scroll Selection Fix: Resolved alignment offsets in the selection highlights when scrolling long lists. πŸ”’ Supply Chain Security & Verification
  • SBOM Signing & Attestation: Added a CycloneDX Software Bill of Materials (SBOM) generation step in the release workflow. The SBOM is attested and signed using keyless Cosign (via GitHub OIDC).
  • Cryptographic Verification Script: Introduced the Verify-Release.ps1 PowerShell script, allowing users to verify the cryptographic signatures, SHA256 hashes, and OIDC attestations of downloaded binaries and SBOMs.
  • WinGet Manifest Verification: Added a -WinGet validation flag to Verify-Release.ps1 to automatically inspect and verify WinGet manifests against GitHub releases. πŸ› οΈ CI/CD & Pipeline Tooling
  • Native Windows CI runner: Migrated the Build, Vet, Lint, and Test workflows from a Linux runner to execute natively on windows-latest. This ensures all Windows-specific code paths (DXGI/PDH) are compiled, linted, and tested under the expected OS target.
  • Winget now automatically updates on release publish.
  • Go 1.26.4 Toolchain Support: Configured the runner to use Go 1.26.4. To support this version, golangci-lint is now compiled from source on-the-fly inside the runner using Go 1.26.4.
  • Normalized Line Endings: Added a .gitattributes configuration (*.go text eol=lf) to enforce LF line endings, preventing gofmt carriage return formatting failures on Windows runners and environments. Full Changelog: v1.1.0...v1.2.0

Installer type: portable

x64β€”C0C8CD2A8792A5A034F5CA23020D7AFE77E107AE9A4789BF738B8E912898333B
arm64β€”1DB7DD54509A310DCF30356FE858D80818E06248DF3636E7DDB2B4BC240B7A33

Details

Homepage
https://www.michaelsanford.com/wtop/
License
MIT
Publisher
michaelsanford
Support
https://github.com/michaelsanford/wtop/issues

Tags

golanghtop-alternativeterminal-basedwindows

Older versions (1)

1.1.0.0
x64β€”F0394BBF1F6A21B624C6B238D0403F61B3A3CC79941562234A76C43033A04A25
arm64β€”6EAB8722256842D360CA360BF1BC1AE299EBFFC87060B75E4962CAAAD435224B