TaskSmack is a C++23 system monitor and task manager for Linux and Windows, built with Dear ImGui, ImPlot, SDL3, and OpenGL.
- Sortable, filterable process table with tree view, multi-select, configurable columns, and process details (environment, connections, modules, open files, security context)
- CPU, memory, swap, storage, network, GPU, NPU, and battery histories
- Per-process CPU, memory, disk I/O, network, GPU, and NPU metrics when the platform exposes them
- Process termination, forced termination, priority and CPU affinity changes, suspend/resume, dump files, batch actions on several processes, and Linux I/O priority (ionice) and strace actions
- Services and Startup (Windows) tabs that list and control services and startup apps, and a System tab of hardware, firmware, network, driver, and crash facts
- TOML configuration, 20 bundled themes, user themes, configurable sampling, and bounded history
- Capability-driven UI that hides unavailable metrics instead of fabricating cross-platform parity
See Implemented Features for the detailed shipped-feature inventory.
| Platform | Support |
|---|---|
| Linux | Supported |
| Windows 10 version 1903 or later | Supported |
| macOS and other operating systems | Not supported |
Windows 10 version 1903 is the first release that honours the application manifest's UTF-8 process code page (activeCodePage), which TaskSmack relies on for UTF-8 text throughout.
Some metrics require optional drivers, vendor libraries, kernel support, or elevated privileges. The User Guide documents those differences.
| Platform | Package | Install |
|---|---|---|
| Debian/Ubuntu | .deb |
sudo apt install ./TaskSmack-*.deb, then run TaskSmack (installs to /usr/bin) |
| Other Linux distributions | .tar.gz |
Extract and run bin/TaskSmack |
| Windows | .zip |
Extract and run TaskSmack.exe (no Visual C++ Redistributable needed) |
Each package comes for x64 and ARM64. The x64 files are TaskSmack-<version>-Linux.deb, -Linux.tar.gz and -win64.zip; the ARM64 ones are TaskSmack-<version>-linux-aarch64.deb, -linux-aarch64.tar.gz and -windows-arm64.zip (Windows on Arm, such as Snapdragon X PCs).
On Linux, the .deb also installs a small privileged helper and its polkit action, which let TaskSmack act on or read another user's process after asking for an administrator's password (Authenticate and retry, Authenticate to read); the .tar.gz doesn't include them. See the FAQ. On Windows, the Authenticode-signed x64 .zip carries TaskSmackHelper.exe for the same purpose (Retry as administrator) once signing is in place; see Acting as an administrator on Windows.
Published x64 packages are built with default compiler optimizations and run on any x86-64 CPU (no AVX2 required). Building from source lets you target a different microarchitecture; see the User Guide.
Every release asset is signed with Sigstore; see Verifying a Release for how to check one before installing it.
Windows release binaries are to be Authenticode-signed through SignPath Foundation (being set up in #2302); see the Code signing policy.
To build TaskSmack yourself on Linux or Windows, follow the Quick Start in CONTRIBUTING.md. It covers cloning, the automated setup scripts that install every prerequisite, and the one-command build-and-test workflow.
| Document | Scope |
|---|---|
| User Guide | Installation, usage, platform differences, and configuration |
| FAQ | Troubleshooting and capability limitations |
| Implemented Features | Canonical shipped-feature inventory |
| Contributing | Canonical setup, build, test, tooling, and contribution workflow |
| Architecture | Canonical layer boundaries, sampling pipeline, and engineering direction |
| Security Policy | Private vulnerability reporting |
| Code of Conduct | Contributor conduct policy and reporting path |
| Documentation site | Web navigation for the same documentation |
CHANGELOG.md is generated by git-cliff (the Changelog workflow) when a release tag is pushed; don't edit it by hand.