gander / compared with btop
Both reject htop's layout. They disagree about what should replace it: btop draws the machine, gander lists the processes.
Pick btop when the question is "how is this machine doing". Pick gander when the question is "which process is doing it" — or when you want the answer to that question in a script.
btop is a resource monitor: CPU, memory, network, disk and temperature as graphs and braille plots, with the process list as one box among several. It is good at what it does, and if you want a dashboard it is the right answer.
gander does not try to be a dashboard. It is a process list — the same thing htop is — with the detail of the selected process moved from a separate screen into a column. The screenshots are the honest summary:
gander panels — meters compressed into one column
gander htop layout (L)
| gander | btop | |
|---|---|---|
| Primary question it answers | which process | how is the machine |
| A layout that is not htop's | panels | yes |
| Keeps htop's keybindings | yes | no |
Reads an existing htoprc | yes | no |
| Selected process's details beside the list | yes | no |
| CPU / memory / network / disk graphs | CPU, memory, disk, network, PSI | all four, plus temperature |
| Linux, macOS, FreeBSD | all three, supported | all three, built in CI (also NetBSD, OpenBSD) |
--json batch mode without the TUI | yes | no |
| Written in | Rust | C++ |
| License | GPL-2.0-or-later | Apache-2.0 |
btop's platform list is genuinely broader in one direction — it also builds for NetBSD and OpenBSD, which gander does not. If those are your systems, btop is the choice and this page is not for you.
btop is a screen. There is no supported way to ask it for a machine-readable snapshot, so anything automated has to either scrape the display or read /proc itself.
gander's batch mode is the same binary with the TUI turned off:
gander --json --limit 10 # one JSON sample, top 10 rows
gander --sort PERCENT_MEM --limit 20 # heaviest 20 by memory
gander -F "python|node" -n 5 # five samples, filtered
That is not a feature you use every day. It is the difference between a tool you look at and a tool you can put in a cron job.
brew install pandasir/tap/gander # macOS
cargo install gander-bin # any platform with Rust
Signed apt and dnf repositories, plus archives for seven targets, are on the install section.