An accessible GTK 4 system monitor for Linux, designed from the ground up for screen reader users and keyboard-centric navigation. Provides feature parity with MATE System Monitor.
- Hostname, OS name/version, kernel version
- CPU model with core count
- Total RAM, GPU info, disk space summary
- 27 columns: Process Name, PID, User, %CPU, Resident Memory, Virtual Memory, Shared Memory, Writable Memory, CPU Time, Status, Nice, Priority, Command Line, Waiting Channel, Control Group, Unit, Session, Seat, Owner, Security Context, Disk Read/Write Totals, Disk Read/Write Rates, Started, PPID, Memory
- View modes: Active Processes, All Processes, My Processes
- Tree view with expand/collapse (Ctrl+D)
- Case-insensitive search/filter across name, command line, PID, and user
- Multi-select with bulk actions
- Process signals: Stop (SIGSTOP), Continue (SIGCONT), End (SIGTERM), Kill (SIGKILL)
- Change process priority (nice value)
- Process dialogs: Memory Maps, Open Files, Properties, Search Open Files (regex)
- Right-click context menu
- Per-core CPU usage with configurable colors
- Memory usage (RAM + Swap)
- Network throughput (RX/TX) with bits/bytes toggle
- All graphs provide textual summaries for screen readers
- Device, directory, type, subvolume, total/free/available/used
- Visual usage bars
- Show/hide pseudo-filesystems
- Btrfs subvolume detection
- Open mount points in file manager
- Update intervals for processes, resources, and filesystems
- Column visibility (all 27 columns toggleable)
- Graph colors
- Network bits/bytes toggle
- Confirmation dialog toggles for End/Kill actions
- Every widget has an accessible label and appropriate role
- All actions reachable via keyboard
- Dynamic changes (sort, filter, threshold alerts) announced to screen readers
- Process table uses TreeGrid role with cell-by-cell navigation
- Graphs provide textual value summaries (e.g., "CPU Total: 34%. Core 0: 23%.")
- Mnemonics on toolbar controls
| Key | Action |
|---|---|
| Alt+1-4 | Switch tabs (System, Processes, Resources, File Systems) |
| Ctrl+S | Stop process (SIGSTOP) |
| Ctrl+G | Continue process (SIGCONT) |
| Ctrl+E | End process (SIGTERM) |
| Ctrl+K | Kill process (SIGKILL) |
| Ctrl+D | Toggle tree view |
| Ctrl+M | Memory maps |
| Ctrl+O | Open files |
| Ctrl+F | Search open files |
| Ctrl+R | Refresh |
| Ctrl+/ | Search processes |
| Ctrl+, | Preferences |
| Ctrl+Q | Quit |
| F1 | About |
- Rust (2021 edition)
- Cargo
pkg-configglib-compile-schemas(part of GLib development tools)
- GTK 4 (>= 4.14)
- libadwaita (>= 1.5)
- GLib/GIO
Gentoo:
emerge gui-libs/gtk gui-libs/libadwaita dev-libs/glibFedora:
dnf install gtk4-devel libadwaita-devel glib2-develUbuntu/Debian:
apt install libgtk-4-dev libadwaita-1-dev libglib2.0-devArch:
pacman -S gtk4 libadwaita glib2cargo build --releaseThe build script automatically compiles the GSettings schema for development use, so cargo run works without system-wide installation.
sudo make installThis installs the binary to /usr/local/bin, the desktop file, icon, and GSettings schema. To change the prefix:
sudo make install PREFIX=/usrsudo make uninstallprocwatch # Opens on the System tab
procwatch -p # Opens on the Processes tab
procwatch -r # Opens on the Resources tab
procwatch -f # Opens on the File Systems tabMIT