Terminal system monitor in Gleam — htop × btop
1.4 kB
monitor#
A terminal system monitor written in Gleam — sits between htop and btop.
| From htop | From btop |
|---|---|
| Dense process table (PID, USER, PRI, NI, VIRT, RES, S, CPU%, MEM%, TIME+, Command) | Color meters & sparklines for CPU / memory / swap |
Sort by column, filter (/), kill (k) |
Per-core CPU bars |
| Keyboard-first navigation | Clean alternate-screen TUI |
Requirements#
- Linux (
/proc) - Gleam + Erlang/OTP
- A modern terminal (truecolor optional, 256-color fine)
Run#
# if Erlang isn't on PATH (NixOS):
nix develop # or: nix-shell -p gleam beamPackages.erlang
gleam run
Keys#
| Key | Action |
|---|---|
↑ / u · ↓ / j |
Move selection (htop-style: k is kill, not up) |
PgUp / PgDn |
Page |
g / G |
Top / bottom |
c m p t n |
Sort by CPU / MEM / PID / TIME / name (press again to reverse) |
r |
Reverse sort |
/ |
Filter (substring on command, user, pid) |
k / K |
Kill selected process (SIGTERM, confirms) |
Space |
Force refresh |
h / ? |
Help |
q / Esc |
Quit |
Architecture#
src/
monitor.gleam entrypoint
app.gleam event loop, keys, refresh
ui.gleam layout & rendering (etch)
sys.gleam /proc collectors
format.gleam bars, sizes, sparklines
Built with etch for the TUI backend.