Detailed breakdown of xtop's monitoring and interface capabilities.
- Usage percentage per core and per thread, displayed as horizontal gauges.
- Maximum CPU temperature reading when hardware sensors are available.
- Color-coded bars that visually indicate load levels.
- RAM usage gauge showing used, total, and percentage.
- Swap usage gauge.
- Historical line chart tracking RAM usage over time.
- Configurable number of history data points.
- Real-time upload (TX) and download (RX) tracking per network interface.
- Total data transferred displayed alongside current transfer speeds.
- Disk usage gauges per mount point showing used, available, and total space.
- Visual percentage bars for each mounted filesystem.
- Read and write speed tracking per disk device.
- Displayed in bytes per second with automatic unit scaling.
- Scrolling list of running processes sorted by CPU usage.
- Live search filtering by process name.
- Displays process name, CPU usage, and memory usage.
- GPU usage gauges: real data on Linux (NVIDIA via
nvidia-smi, AMD/Intel via/sys/class/drm); NVIDIA is also detected vianvidia-smion macOS and Windows. AMD/Intel GPUs and Apple GPUs expose no public utilization API, so the widget stays empty for them (no fabricated readings).
- Battery charge level gauges: real data on Linux (
/sys/class/power_supply), macOS (pmset) and Windows (GetSystemPowerStatus, aggregate battery). Hosts without a battery show the honest empty state.
- 12 color schemes: 12 JSONC theme files ship in
assets/themes/and are embedded in the binary as first-run seeding templates. - Custom themes defined as JSONC files with an explicit background/foreground pair and a 16-entry hex color palette (legacy 16-slot-only files still load).
- Always-legible themes: every theme is contrast-normalized at load (WCAG floors for text and mark roles, UX8.2); shipped files stay canonical.
- Instant theme cycling with t (next) and T (previous).
- Palette reference in colors.md.
- 7 built-in layout modes: Dashboard, Vertical, Horizontal, CPU Focus, Memory Focus, Network Focus, Process Focus, plus 3 Detail preset layouts (
Detail Dashboard,Detail Network,Detail Processes) that cycle after the modes and showcase per-widget display options. - Custom layouts defined as JSONC files with a recursive split/widget tree; every widget instance can carry an
optionsobject (CPU basis, cores, ifaces, ...) driven by the layout file. - Full-screen mode for any widget toggled with f.
- Responsive design that adapts to terminal width and height automatically.
- Minimal fallback layout for very small terminals.
- Visual warnings when CPU, memory, or disk usage exceeds configurable limits.
- Color changes to red and warning indicators in widget titles.
- Current theme, layout, update interval, history points, alert thresholds and glyph style are saved automatically on quit.
- Configuration is stored as
config.jsonin the platform config dir:~/.config/xtop/on Linux,~/Library/Application Support/xtop/on macOS,%APPDATA%\xtopon Windows.