winetop-0.1.0 is not a library.
winetop
htop for Wine prefixes — a native CLI/TUI to monitor and stop Wine, Proton, Lutris, Heroic, and Bottles sessions on Linux (with best-effort FreeBSD/macOS ports).
Features
- Session-aware grouping by
WINEPREFIX/ Steam AppId / launcher - Steam
reaperdetection (SteamLaunch AppId=…) — stop a game without killing Steam - Live TUI: expand sessions, CPU/RSS, sparklines, themes, detail drawer, orphans
- Safe kill ladder: process SIGTERM → session reaper →
wineserver -k→ SIGKILL - Scriptable CLI:
list,tree,kill,orphans,dump(+--json) - Name enrichment from Steam
appmanifest_*.acf, Lutrispga.db/yml, Heroic, Bottles
Install
From source
Prebuilt (after releases)
|
Or: cargo binstall winetop
# Debian/Ubuntu PPA (once packages are published)
&&
# Or build a .deb from a GitHub Release
See dist/ for packaging and dist/RELEASING.md for the automated release pipeline.
Usage
TUI keys
| Key | Action |
|---|---|
↑↓ |
Move across sessions and processes |
Tab / → |
Expand session (process rows) |
← |
Collapse session |
/ |
Filter (name, pid, cmdline) |
d / Enter |
Detail |
k |
Kill selected process (or session if on a session row) |
K |
Kill session |
P |
wineserver -k |
t |
Tree |
o |
Orphans |
T |
Theme |
? |
Help |
q |
Quit |
Expanded process rows show PID, PPID, kind, and a DETAIL column (Windows path + args) so duplicates like many Battle.net.exe are distinguishable.
winetop 0.1.0 │ 3 sessions │ 12 procs │ 18% cpu │ 4.2G rss
SRC SESSION PREFIX CPU RSS
Steam Cyberpunk 2077 #1091500 compatdata/… 142% 3.1G
Lutris epic-game-slug ~/Games/epic-pfx 12% 410M
Kill semantics
| Target | Preferred |
|---|---|
| Steam game | SIGTERM reaper, then wineserver -k |
| Prefix | WINEPREFIX=… wineserver -k |
| Process | SIGTERM → SIGKILL |
| Never | killall wineserver / killing the Steam client |
Flatpak Bottles sandboxes may hide PIDs from host /proc; stop those via Bottles / bottles-cli.
Development
Workspace:
crates/winetop-core— discovery, classify, enrich, killcrates/winetop— CLI + ratatui TUI
License
MIT © akovari