https://github.com/runlevel5/htop-rs
a Rust port of htop
https://github.com/runlevel5/htop-rs
bsd console linux macos process rust terminal viewer
Last synced: 4 months ago
JSON representation
a Rust port of htop
- Host: GitHub
- URL: https://github.com/runlevel5/htop-rs
- Owner: runlevel5
- Created: 2026-01-20T14:48:17.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-01-27T14:30:31.000Z (5 months ago)
- Last Synced: 2026-01-28T00:47:50.193Z (5 months ago)
- Topics: bsd, console, linux, macos, process, rust, terminal, viewer
- Language: Rust
- Homepage:
- Size: 16.1 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# htop-rs

A Rust port of [htop](https://htop.dev/), the beloved interactive process viewer.
## What is this?
htop-rs aims to be a **1:1 faithful recreation** of htop's user interface and functionality, implemented entirely in Rust. If you're familiar with htop, you should feel right at home.
## Why?
This project exists to explore Rust and experiment with new patterns and architectures—free from the technical debt that accumulates in any long-lived C codebase. It's a learning exercise, a playground for ideas, and hopefully a useful tool.
Goals:
- Match htop's UI pixel-for-pixel (or character-for-character)
- Maintain feature parity with C htop
- Explore Rust idioms for systems programming
- Experiment with architectural improvements
Non-goals:
- Adding features that diverge from htop's design philosophy
## Building
```bash
cargo build --release
```
### Dependencies
- Rust 1.93+
No external libraries required - htop-rs uses a pure Rust terminal implementation.
## Running
```bash
cargo run --release
```
Or after building:
```bash
./target/release/htop-rs
```
## Current Status
**Work in progress.** Many features work, but not everything is implemented yet.
Working:
- Process list with sorting and filtering
- Tree view
- CPU, Memory, Swap meters
- Multiple meter display modes (Bar, Text, LED)
- Setup screen (F2) with meter configuration
- Color themes
- Keyboard navigation
- Process actions (kill, nice, etc.)
Not yet implemented:
- Some column types show "TODO"
- Graph meter mode
- Some platform-specific features
## Known Issues
- **Kitty Keyboard Protocol**: htop-rs has known compatibility issues with terminal emulators that use the [Kitty keyboard protocol](https://sw.kovidgoyal.net/kitty/keyboard-protocol/). If you experience keyboard input problems, it is advised to disable the Kitty keyboard protocol in your terminal settings.
## Platform Support
| Platform | Status |
|----------|--------|
| Linux | Primary target, most complete |
| macOS | Supported, some features limited |
| FreeBSD | Planned (see TODO.md) |
## Contributing
Contributions are **greatly welcome**! Whether it's:
- Implementing missing features
- Fixing bugs
- Improving documentation
- Adding tests
- Platform-specific improvements
Feel free to open issues or submit pull requests.
## Vision
See [TODO.md](TODO.md) for unimplemented features, planned enhancements and architectural ideas.
## License
GPL-2.0-or-later (same as htop)
## Acknowledgments
- The [htop](https://htop.dev/) project and its maintainers
- [btop++](https://github.com/aristocratos/btop) for inspiration on conservative threading design
- Everyone who has contributed to htop over the years