Skip to content

mreinrt/pysktop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

pysktop screenshot (Add a screenshot here)


✨ Features

  • 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

📋 Requirements

  • Linux with /proc filesystem
  • Python 3.6+
  • GTK+ 3.0
  • PyGObject (Python bindings for GTK)
  • pycairo for graphics
  • distro for OS detection

Install Dependencies

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


🚀 Installation

git clone https://github.com/mreinrt/pysktop.git cd pysktop chmod +x pysktop.py ./pysktop.py


🎮 Usage

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

⌨️ XFCE4 Integration

Add to startup applications:

  1. Open Settings Manager → Session and Startup → Application Autostart
  2. Click Add
  3. Name: pysktop System Monitor
  4. Command: /usr/local/bin/pysktop
  5. Check the box and click OK

🔧 Configuration

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


📁 File Structure

pysktop/ ├── pysktop.py # Main application ├── README.md # This file ├── LICENSE # GPL v2 license ├── requirements.txt # Python dependencies └── .gitignore # Git ignore rules


📝 License

This project is licensed under the GNU General Public License v2 or later.


👨‍💻 About the Author

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.


💰 Support the Project

BTC: 3GtCgHhMP7NTxsdNjcDs7TUNSBK6EXoAzz

ETH: 0x5f1ed610a96c648478a775644c9244bf4e78631e


🤝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing)
  5. Open a Pull Request

📬 Contact

Project Link: https://github.com/mreinrt/pysktop

Releases

No releases published

Packages

 
 
 

Contributors

Languages