pysktop - GTK System Monitor
pysktop is a beautiful, overlay-style system monitor for Linux that displays real-time system statistics with elegant visualizations. It sits in the corner of your screen and shows CPU, memory, disk, I/O, and network usage with colorful graphs and indicators.
- CPU Monitoring - Per-core usage bars with smooth animations
- Total CPU Flow - Live graph showing overall CPU activity
- Memory Tracking - Used, free, cached, and available memory with progress bars
- Network Monitor - Download/upload speed graphs with ultra-sensitive detection
- I/O Activity - Real-time read/write speed graphs (B/s, KB/s, MB/s, GB/s)
- Disk Usage - Root and swap usage with elegant pie charts
- System Information - OS, kernel, DE, WM, GCC version, package count, resolution
- Hacker-Style Aesthetic - Green-on-black theme with smooth color gradients
- Always-on-Top Overlay - Stays in top-right corner without stealing focus
- Linux with /proc filesystem
- Python 3.6+
- GTK+ 3.0
- PyGObject (Python bindings for GTK)
- pycairo for graphics
- distro for OS detection
Gentoo: sudo emerge dev-python/pygobject dev-python/pycairo dev-python/distro
Ubuntu/Debian: sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0 python3-distro
Fedora: sudo dnf install python3-gobject python3-cairo python3-distro
Arch Linux: sudo pacman -S python-gobject python-cairo python-distro
git clone https://github.com/mreinrt/pysktop.git cd pysktop chmod +x pysktop.py ./pysktop.py
Just run the program: ./pysktop.py
The monitor will appear in the top-right corner of your primary monitor showing:
- CPU - Individual core usage bars with percentages
- Total CPU - Live flow graph of overall CPU activity
- Memory - Used, free, cached, and available memory with progress bars
- Network - Download and upload speed graphs with real-time rates
- I/O Activity - Read and write speed graphs for disk activity
- Disks - Root and swap usage as elegant pie charts
- System Info - OS, kernel, shell, WM, DE, GCC, packages, resolution
Add to startup applications:
- Open Settings Manager → Session and Startup → Application Autostart
- Click Add
- Name:
pysktop System Monitor - Command:
/usr/local/bin/pysktop - Check the box and click OK
Edit these constants at the top of pysktop.py:
MAX_READ_SPEED_MB = 1000 # 1 GB/s max read speed MAX_WRITE_SPEED_MB = 800 # 800 MB/s max write speed MAX_NET_SPEED_BYTES = 125 * 1024 * 1024 # 125 MB/s = 1 Gbps
Update interval (line near bottom):
GLib.timeout_add(1500, self.update_stats) # 1500ms = 1.5 seconds
pysktop/ ├── pysktop.py # Main application ├── README.md # This file ├── LICENSE # GPL v2 license ├── requirements.txt # Python dependencies └── .gitignore # Git ignore rules
This project is licensed under the GNU General Public License v2 or later.
Created by BigSlimThic, a hopelessly broke digital low-life who somehow grew up somewhere between Philadelphia and probably South East Asia, surviving on instant noodles and bad Wi-Fi. Rumor has it he has a smoking hot girlfriend, unless she left him for a guy with a real job. Against all odds, he somehow managed to survive the apocalypse of homelessness, poverty, and questionable life choices to create this software.
BTC: 3GtCgHhMP7NTxsdNjcDs7TUNSBK6EXoAzz
ETH: 0x5f1ed610a96c648478a775644c9244bf4e78631e
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing) - Open a Pull Request
Project Link: https://github.com/mreinrt/pysktop
