Awesome
<div align="center"> <img src="app-icon.png" alt="NeoHtop Logo" width="120" /> <h1>NeoHtop</h1> <p>A modern, cross-platform system monitor built on top of Svelte, Rust, and Tauri.</p> </div> <div align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="screenshot.png"> <source media="(prefers-color-scheme: light)" srcset="screenshot-light.png"> <img alt="NeoHtop Screenshot" src="./screenshot.png" width="800"> </picture> </div>Table of Contents
Why NeoHtop?
Read about the back story and motivation behind NeoHtop
Features
- 🚀 Real-time process monitoring
- 💻 CPU and Memory usage tracking
- 🎨 Beautiful, modern UI with dark/light themes
- 🔍 Advanced process search and filtering
- 📌 Pin important processes
- 🛠 Process management (kill processes)
- 🎯 Sort by any column
- 🔄 Auto-refresh system stats
Search Functionality
Search for processes by name, command, or PID. Use commas to search for multiple terms simultaneously. Regular expressions are supported for advanced filtering.
Examples:
arm, x86
: Returns processes with "arm" or "x86" in the name or commandd$
: Lists daemons (processes ending with 'd')^(\w+\.)+\w+$
: Shows processes with reverse domain name notation (e.g., com.docker.vmnetd)
Tech Stack
- Frontend: SvelteKit, TypeScript
- Backend: Rust, Tauri
- Styling: CSS Variables for theming
- Icons: FontAwesome
Getting Started
Prerequisites
- Node.js (v16 or later)
- Rust (latest stable)
- Xcode Command Line Tools (for macOS)
Installation
Download the latest release from the releases page.
Running with Sudo
Some processes require monitoring with sudo privileges. To monitor these processes, launch NeoHtop with sudo:
- macOS:
sudo /Applications/NeoHtop.app/Contents/MacOS/NeoHtop
- Linux:
pkexec /path/to/neohtop
(recommended)
Development
Setup
# Install dependencies
npm install
# Run in development mode
npm run tauri dev
# Build for production
npm run tauri build
Code Formatting
We use Prettier for web code and cargo fmt
for Rust code.
# Format all files
npm run format
# Check formatting without making changes
npm run format:check
Pull Requests
Before submitting a PR, ensure:
- All code is formatted (
npm run format
) - The format check passes (
npm run format:check
) - Your commits follow the project's commit message conventions
Contributing
We welcome contributions! Please see our contributing guidelines for more information.
Support
If you find this project helpful, consider buying me a coffee:
<a href="https://www.buymeacoffee.com/abdenasser" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
License
This project is licensed under the MIT License - see the LICENSE file for details.