Skip to content

Latest commit

 

History

History
113 lines (80 loc) · 4.19 KB

File metadata and controls

113 lines (80 loc) · 4.19 KB

Features

Detailed breakdown of xtop's monitoring and interface capabilities.


System Monitoring

CPU

  • 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.

Memory

  • 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.

Network

  • Real-time upload (TX) and download (RX) tracking per network interface.
  • Total data transferred displayed alongside current transfer speeds.

Storage

  • Disk usage gauges per mount point showing used, available, and total space.
  • Visual percentage bars for each mounted filesystem.

Disk I/O

  • Read and write speed tracking per disk device.
  • Displayed in bytes per second with automatic unit scaling.

Processes

  • Scrolling list of running processes sorted by CPU usage.
  • Live search filtering by process name.
  • Displays process name, CPU usage, and memory usage.

GPU

  • GPU usage gauges: real data on Linux (NVIDIA via nvidia-smi, AMD/Intel via /sys/class/drm); NVIDIA is also detected via nvidia-smi on 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

  • 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.

Theming

  • 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.

Layouts

  • 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 options object (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.

Alert Thresholds

  • Visual warnings when CPU, memory, or disk usage exceeds configurable limits.
  • Color changes to red and warning indicators in widget titles.

Persistence

  • Current theme, layout, update interval, history points, alert thresholds and glyph style are saved automatically on quit.
  • Configuration is stored as config.json in the platform config dir: ~/.config/xtop/ on Linux, ~/Library/Application Support/xtop/ on macOS, %APPDATA%\xtop on Windows.

Back to README