{"id":45711338,"url":"https://github.com/marlocarlo/pstop","last_synced_at":"2026-03-07T07:04:36.570Z","repository":{"id":337410946,"uuid":"1152389617","full_name":"marlocarlo/pstop","owner":"marlocarlo","description":"htop for Windows . TUI system monitor with per-core CPU bars, memory/swap/network, tree view, process kill, 7 color schemes, mouse support. cargo install pstop","archived":false,"fork":false,"pushed_at":"2026-03-04T06:26:15.000Z","size":2883,"stargazers_count":40,"open_issues_count":0,"forks_count":3,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-03-04T13:08:04.264Z","etag":null,"topics":["cli","htop","htop-alternative","htop-for-windows","powershell","process-manager","process-viewer","ratatui","rust","system-monitor","task-manager","terminal","top","tui","windows","windows-terminal"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/pstop","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marlocarlo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-07T20:00:09.000Z","updated_at":"2026-03-04T06:26:19.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/marlocarlo/pstop","commit_stats":null,"previous_names":["marlocarlo/pstop"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/marlocarlo/pstop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marlocarlo%2Fpstop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marlocarlo%2Fpstop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marlocarlo%2Fpstop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marlocarlo%2Fpstop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marlocarlo","download_url":"https://codeload.github.com/marlocarlo/pstop/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marlocarlo%2Fpstop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30209433,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T05:23:27.321Z","status":"ssl_error","status_checked_at":"2026-03-07T05:00:17.256Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","htop","htop-alternative","htop-for-windows","powershell","process-manager","process-viewer","ratatui","rust","system-monitor","task-manager","terminal","top","tui","windows","windows-terminal"],"created_at":"2026-02-25T02:34:06.780Z","updated_at":"2026-03-07T07:04:36.519Z","avatar_url":"https://github.com/marlocarlo.png","language":"Rust","funding_links":[],"categories":["Table of Contents"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cpre\u003e\n██████╗ ███████╗████████╗ ██████╗ ██████╗\n██╔══██╗██╔════╝╚══██╔══╝██╔═══██╗██╔══██╗\n██████╔╝███████╗   ██║   ██║   ██║██████╔╝\n██╔═══╝ ╚════██║   ██║   ██║   ██║██╔═══╝\n██║     ███████║   ██║   ╚██████╔╝██║\n╚═╝     ╚══════╝   ╚═╝    ╚═════╝ ╚═╝\n\u003c/pre\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003eThe \u003ccode\u003ehtop\u003c/code\u003e alternative for Windows PowerShell.\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eBeautiful, fast, real-time system monitor for Windows. Built in Rust.\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#installation\"\u003eInstall\u003c/a\u003e •\n  \u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e •\n  \u003ca href=\"#keybindings\"\u003eKeys\u003c/a\u003e •\n  \u003ca href=\"#color-schemes\"\u003eThemes\u003c/a\u003e •\n  \u003ca href=\"#configuration\"\u003eConfig\u003c/a\u003e •\n  \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://crates.io/crates/pstop\"\u003e\u003cimg src=\"https://img.shields.io/crates/v/pstop?style=flat-square\u0026color=fc8d62\u0026logo=rust\" alt=\"crates.io\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://community.chocolatey.org/packages/pstop\"\u003e\u003cimg src=\"https://img.shields.io/chocolatey/v/pstop?style=flat-square\u0026color=7B3F00\u0026logo=chocolatey\" alt=\"Chocolatey\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/marlocarlo/pstop\"\u003e\u003cimg src=\"https://img.shields.io/badge/winget-marlocarlo.pstop-0078D4?style=flat-square\u0026logo=windows\" alt=\"WinGet\"/\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/platform-windows-blue?style=flat-square\u0026logo=windows\" alt=\"Windows\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/language-rust-orange?style=flat-square\u0026logo=rust\" alt=\"Rust\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/license-MIT-green?style=flat-square\" alt=\"MIT License\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/terminal-powershell-5391FE?style=flat-square\u0026logo=powershell\u0026logoColor=white\" alt=\"PowerShell\"/\u003e\n\u003c/p\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"pstop-demo.gif\" alt=\"pstop demo - htop for Windows PowerShell\" width=\"900\"/\u003e\n\u003c/p\u003e\n\n---\n\n## Why pstop?\n\nIf you've ever missed `htop` on Windows, your search is over. **pstop** brings the full htop experience to Windows PowerShell. No WSL, no Cygwin, no compromises.\n\n| | **pstop** | Task Manager | `Get-Process` |\n|---|:---:|:---:|:---:|\n| Real-time CPU per-core bars | ✅ | ❌ | ❌ |\n| Memory / Swap / Network bars | ✅ | Partial | ❌ |\n| GPU utilization \u0026 VRAM bars | ✅ | Basic | ❌ |\n| Tree view (process hierarchy) | ✅ | ❌ | ❌ |\n| Search \u0026 filter processes | ✅ | Basic | ❌ |\n| Kill / change priority | ✅ | ✅ | Manual |\n| Mouse support | ✅ | ✅ | ❌ |\n| 7 color schemes | ✅ | ❌ | ❌ |\n| Keyboard-driven | ✅ | ❌ | ❌ |\n| Runs in terminal | ✅ | ❌ | ✅ |\n| ~1 MB binary, zero dependencies | ✅ | N/A | N/A |\n\n---\n\n## Installation\n\n### WinGet (Recommended)\n\n```powershell\nwinget install marlocarlo.pstop\n```\n\n### Chocolatey\n\n```powershell\nchoco install pstop\n```\n\n### Cargo (crates.io)\n\n```powershell\ncargo install pstop\n```\n\n\u003e **Don't have Rust/Cargo?** Install it in seconds: \u003chttps://rustup.rs\u003e\n\n### From GitHub Releases\n\nDownload the latest `.zip` from [GitHub Releases](https://github.com/marlocarlo/pstop/releases), extract, and add to your `PATH`.\n\n### From Source\n\n```powershell\ncargo install --git https://github.com/marlocarlo/pstop\n```\n\n### Build Locally\n\n```powershell\ngit clone https://github.com/marlocarlo/pstop.git\ncd pstop\ncargo build --release\n# Binary at: target/release/pstop.exe + target/release/htop.exe\n```\n\nAll methods install **both** `pstop` and `htop` commands. Yes, you can just type `htop` on Windows.\n\n### Add htop Alias (Optional)\n\nIf you only installed `pstop` and want the `htop` alias in your PowerShell profile:\n\n```powershell\npstop --install-alias\n```\n\nThis adds `Set-Alias htop pstop` to your `$PROFILE` automatically.\n\n---\n\n## Features\n\n### 🖥️ Per-Core CPU Monitoring\nReal-time CPU usage bars for every logical core, color-coded by usage type (user / system / virtual), exactly like htop. CPU columns auto-adjust based on core count (2/4/8/16 columns) and terminal size — just like htop's `calcColumnWidthCount`.\n\n### 📊 Memory, Swap, Network \u0026 GPU Bars\n- **Mem** bar: shows used (green), buffers (blue), cached (yellow)\n- **Swap** bar: swap usage with color threshold\n- **Net** bar: live RX/TX throughput in the header\n- **GPU** bar: overall GPU utilization percentage (shown on GPU tab)\n- **VMem** bar: dedicated video memory usage (shown on GPU tab)\n\n### 🌳 Tree View\nPress `F5` or `t` to toggle process tree view — see parent-child relationships with `├─` / `└─` tree connectors, collapsible nodes with `+`/`-`.\n\n### 🔍 Search \u0026 Filter\n- **F3** - Incremental search: jumps to matching process\n- **F4** - Filter: hides all non-matching processes in real-time\n\n### 📋 Four Tab Views\n- **Main** - Full process table (PID, USER, CPU%, MEM%, TIME+, Command...)\n- **I/O** - Disk read/write rates per process\n- **Net** - Per-process network bandwidth (live download/upload rates with auto-scaling B/s, KB/s, MB/s, GB/s) plus active connection counts. No admin required.\n- **GPU** - Per-process GPU engine utilization and dedicated/shared video memory usage via PDH performance counters\n\n### ⚙️ F2 Setup Menu (Full htop Parity)\nPress `F2` to open the setup menu with 4 categories:\n- **Meters** - Configure header layout (CPU, Memory, Swap, Network, Tasks, Load, Uptime)\n- **Display Options** - 14 toggleable settings (tree view, highlight basename, shadow other users, show threads, detailed CPU time, and more)\n- **Colors** - Choose from 7 built-in color schemes with **live preview**\n- **Columns** - Add/remove/reorder visible columns\n\n### 🎨 7 Color Schemes\nSwitch instantly in F2 \u003e Colors:\n1. **Default** - Classic htop green/cyan on black\n2. **Monochrome** - Pure white on black\n3. **Black Night** - Muted tones for dark terminals\n4. **Light Terminal** - Optimized for light backgrounds\n5. **Midnight Commander** - Blue background, MC-inspired\n6. **Black on White** - Clean light theme\n7. **Dark Vivid** - High-contrast neon colors\n\n### 🖱️ Full Mouse Support\n- Click anywhere in the process table to select\n- Click column headers to sort\n- Click F-key bar buttons\n- Click tabs to switch views\n- Scroll wheel for navigation\n\n### ⌨️ Keyboard Shortcuts\nFamiliar htop keybindings — zero learning curve if you know htop.\n\n### 💾 Persistent Configuration\nAll settings auto-save to `%APPDATA%/pstop/pstoprc` and restore on next launch. Your color scheme, display options, column choices, sort preference... everything persists.\n\n### ⚡ Performance\n- ~1 MB single binary (release build with LTO + strip)\n- 50ms event polling for instant keyboard response\n- Configurable refresh rate (200ms–10s)\n- Native Win32 API calls for I/O counters, process priority, CPU affinity\n- Zero runtime dependencies\n\n---\n\n## Keybindings\n\n| Key | Action |\n|-----|--------|\n| `F1` / `?` | Help screen |\n| `F2` | Setup menu (meters, display, colors, columns) |\n| `F3` / `/` | Search processes |\n| `F4` / `\\` | Filter processes |\n| `F5` / `t` | Toggle tree view |\n| `F6` / `\u003e` | Sort by column |\n| `F7` / `F8` | Decrease / Increase process priority (nice) |\n| `F9` / `k` | Kill process |\n| `F10` / `q` | Quit |\n| `Tab` | Switch between Main / I/O / Net / GPU views |\n| `Space` | Tag process |\n| `c` | Tag process and children |\n| `U` | Untag all |\n| `u` | Filter by user |\n| `p` | Toggle full command path / process name |\n| `H` | Toggle show threads |\n| `K` | Toggle hide kernel threads |\n| `+` / `-` | Expand / collapse tree node |\n| `e` | Show process environment |\n| `l` | List open handles (lsof equivalent) |\n| `a` | Set CPU affinity |\n| `I` | Invert sort order |\n| Arrow keys | Navigate |\n| `PgUp` / `PgDn` | Page through process list |\n| `Home` / `End` | Jump to first / last process |\n\n---\n\n## Color Schemes\n\nAll 7 schemes affect every UI element — header bars, process table, footer, tabs, popups:\n\n| Scheme | Best For |\n|--------|----------|\n| Default | Dark terminals (Windows Terminal, Alacritty) |\n| Monochrome | Minimal / accessibility |\n| Black Night | OLED / very dark terminals |\n| Light Terminal | Light-themed terminals |\n| Midnight Commander | Nostalgic blue background |\n| Black on White | Maximum readability on light bg |\n| Dark Vivid | High contrast, colorful |\n\nChange schemes live: `F2` \u003e Colors \u003e select \u003e `Enter`. Preview updates in real-time.\n\n---\n\n## Configuration\n\nSettings are saved automatically to:\n\n```\n%APPDATA%\\pstop\\pstoprc\n```\n\nFormat: simple `key=value` (htoprc-style). Persisted settings include:\n- Color scheme\n- All 14 display options\n- Visible columns\n- Sort field \u0026 direction\n- Update interval\n- Tree view state\n\n---\n\n## System Requirements\n\n- **OS**: Windows 10 / 11 (x86_64)\n- **Terminal**: Windows Terminal, PowerShell, cmd.exe, or any terminal with ANSI support\n- **Build**: Rust 1.70+ (for building from source)\n\n---\n\n## Roadmap\n\n- [x] Publish to crates.io (`cargo install pstop`)\n- [x] Pre-built binaries via GitHub Releases\n- [x] WinGet (`winget install marlocarlo.pstop`)\n- [x] Chocolatey (`choco install pstop`)\n- [x] GPU monitoring (per-process GPU engine usage + VRAM, header GPU/VMem bars)\n- [x] Network per-process tracking (live bandwidth, no admin required)\n- [x] Auto-adjusting CPU column layout (2/4/8/16 columns based on core count)\n- [x] Independent htop-style header panel flow (no forced alignment)\n- [ ] Scoop bucket\n- [ ] Custom meter plugins\n\n---\n\n## Contributing\n\nContributions welcome! This is a Rust project using:\n- **ratatui** 0.29 - TUI framework\n- **crossterm** 0.28 - Terminal backend\n- **sysinfo** 0.33 - System information\n- **windows** 0.58 - Native Win32 APIs\n\n```powershell\ngit clone https://github.com/marlocarlo/pstop.git\ncd pstop\ncargo run\n```\n\n---\n\n## License\n\n[MIT](LICENSE) - use it, fork it, ship it.\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eStop opening Task Manager. Type \u003ccode\u003epstop\u003c/code\u003e or its aliases.\u003c/strong\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarlocarlo%2Fpstop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarlocarlo%2Fpstop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarlocarlo%2Fpstop/lists"}