matrix-top
v1.0.1
Published
htop meets The Matrix - A gorgeous cyberpunk terminal process monitor with falling code rain background.
Maintainers
Readme
🕶️ matrix-top (Pure Node.js Edition)
A cyberpunk terminal process monitor where htop meets The Matrix code waterfall.
It is written in 100% pure Node.js with zero dependencies. It reads the Linux /proc filesystem directly and uses raw ANSI escape codes for double-buffered, flicker-free rendering.
🚀 Features
- Falling Process Rain Streams: Process parameters form the text trails that fall down your screen in spaced columns.
- Dynamic Speed & Colors:
- Speed: High CPU processes fall rapidly (spiking like lightning), while idle processes drift down slowly.
- Colors: High CPU processes fall in flashing red trails, intermediate loads in yellow, and idle ones in standard green.
- Historical Load Waterfalls:
- The far-left column streams a scrolling load bar representing total CPU usage history.
- The far-right column streams a scrolling load bar representing virtual Memory usage history.
- Waves of green, yellow, and red blocks flow downwards representing load surges over time!
- Interactive Cursor & Inspect Mode:
- Pressing
Spacefreezes the waterfalls and process streams in place. - Use
Left/Rightarrow keys to move a glowing cursor across columns. - The top bar displays full inspection metrics for the highlighted column, and
Up/Downarrows let you scroll long command lines horizontally! - Pressing
korF9on a highlighted process triggers a red confirmation popup to terminate it (SIGTERM).
- Pressing
- Dynamic Filter & Spacer morphing:
- Search filtering instantly updates column bindings.
- Matching processes fall as readable text streams, while the rest of the columns morph into classic Katakana Matrix code rain!
- Double-Buffered Render Engine: High speed, zero screen flicker, and extremely low CPU utilization.
- Pure JavaScript & Zero Dependencies: Compiled, lightweight, and requires no Python,
pip, or custom packages.
📦 Requirements
- Linux (uses the
/procfilesystem directly). - Node.js (v12+ recommended).
📥 Installation & Running
1. Run it directly (Local clone)
Inside the repository directory, run:
# Run using npm start
npm start2. Install globally (Local npm link)
Inside the repository directory, run:
npm install -g .Now you can launch it from anywhere in your terminal:
matrix-top🎮 Controls & Keybindings
| Key | Action |
| --- | --- |
| Space | Pause/Resume animation (locks column selector cursor) |
| Left / Right or h / l | Move selection cursor over columns (when Paused) |
| Up / Down or j / k | Scroll highlighted process COMMAND horizontally (when Paused) |
| F3 or / or f | Search/Filter processes (matches name, args, paths) |
| F6 or s | Open Sort Field Selector |
| F4 or I | Invert sorting order direction (Ascending / Descending) |
| F9 or k | Terminate selected process (confirms with red modal; when Paused) |
| h or ? | Open Help modal |
| Esc / q / F10 | Close menus / Exit application |
