cxtop

April 5, 2026 · View on GitHub

cxtop Logo

License: MIT .NET Platform

An ntop/btop-inspired terminal system monitor built on SharpConsoleUI.

⭐ If you find cxtop useful, please consider giving it a star! ⭐

It helps others discover the project and motivates continued development.

GitHub stars

A polished terminal system monitor with a hardware identity dashboard, real-time metrics, sparkline graphs, and process management — all without leaving the terminal.

Monitor. Manage. Explore.

cxtop Screenshot

Quick Start

Option 1: One-line install (Linux/macOS, no .NET required)

curl -fsSL https://raw.githubusercontent.com/nickprotop/cxtop/main/install.sh | bash
cxtop

Windows (PowerShell)

irm https://raw.githubusercontent.com/nickprotop/cxtop/main/install.ps1 | iex

Option 2: Build from source (requires .NET 9)

git clone https://github.com/nickprotop/cxtop.git
cd cxtop
./build-and-install.sh
cxtop

Features

🖥️ System DashboardHardware identity (CPU, GPU, board, BIOS, RAM, audio, display, USB) + live metrics at a glance
📊 CPU MonitorPer-core usage bars, aggregate sparklines, top consumers, user/system/iowait breakdown
🧠 Memory MonitorUsed/cached/swap bars with sparklines, buffer and dirty page tracking
🌐 Network MonitorPer-interface upload/download rates, combined sparklines, peak tracking
💾 Storage MonitorPer-disk capacity bars, real-time I/O rates, filesystem details
📋 Process ManagerSortable process list, search/filter, detail panel, SIGTERM/SIGKILL actions
🔍 Hardware DiscoveryOS, kernel, vendor, board, BIOS, GPU, audio, display, USB, battery, packages, DE, WM, theme
📈 Sparkline GraphsBraille-mode time-series graphs with gradient coloring and history tracking
🎨 Polished UIGradient backgrounds, semi-transparent panels, smooth bar animations, tab crossfade, bottom fade effect
📐 Responsive LayoutAdapts to terminal width and height — 1, 2, or 3 column layouts
Cross-PlatformLinux and Windows support with platform-specific stat collection
🔋 Battery AwareShows battery percentage and charging status on laptops

Keyboard Shortcuts

KeyAction
F1-F6Switch tabs (System, Processes, Memory, CPU, Network, Storage)
TabCycle focus regions (in Processes tab)
EnterSelect/activate process
SCycle sort mode (CPU, Memory, PID, Name)
/Filter processes
F10 / ESCExit

Building from Source

cxtop uses a conditional project reference for SharpConsoleUI:

  • Local development: If ConsoleEx is cloned as a sibling directory (../ConsoleEx), the project reference is used automatically
  • CI/Release builds: Falls back to the SharpConsoleUI NuGet package
# Clone both repos as siblings
git clone https://github.com/nickprotop/ConsoleEx.git
git clone https://github.com/nickprotop/cxtop.git

# Build with local ConsoleEx
cd cxtop
dotnet build cxtop/cxtop.csproj

# Or build standalone (uses NuGet)
dotnet build cxtop/cxtop.csproj

Architecture

cxtop/
├── cxtop/
│   ├── Program.cs                 # Entry point
│   ├── Configuration/             # App config
│   ├── Dashboard/                 # Main window, tab management
│   ├── Helpers/                   # UI constants, history tracking
│   ├── Stats/                     # System stats providers
│   │   ├── ISystemStatsProvider   # Platform-independent interface
│   │   ├── LinuxSystemStats       # /proc, /sys reader
│   │   └── WindowsSystemStats     # WMI, Performance Counters
│   └── Tabs/                      # Tab implementations
│       ├── SystemInfoTab          # Hardware identity dashboard
│       ├── ProcessTab             # Process list + management
│       ├── CpuTab                 # CPU monitoring
│       ├── MemoryTab              # Memory monitoring
│       ├── NetworkTab             # Network monitoring
│       └── StorageTab             # Storage monitoring
├── publish.sh                     # Release publisher
├── install.sh                     # Linux/macOS installer
└── build-and-install.sh           # Build from source

Key Technologies: .NET 9, SharpConsoleUI, /proc filesystem (Linux), Performance Counters (Windows)

Uninstall

Linux/macOS:

cxtop-uninstall.sh

Windows (PowerShell):

& "$env:LOCALAPPDATA\cxtop\cxtop-uninstall.ps1"

License

MIT License. See LICENSE for details.