Skip to content

SamStamport/SystemMonitorGadget

⚠️ WARNING: FOR ARCHIVAL PURPOSES ONLY ⚠️

THIS PROJECT IS NOT SUPPORTED AND NOT MAINTAINED

NO SUPPORT · NO QUESTIONS · NO ASSISTANCE

This repository is provided as-is for archival and reference purposes only. Please do not open issues, ask questions, or request features. This project is not actively developed or maintained.


System Monitor Gadget

A sleek, customizable desktop system monitoring application built with Python and tkinter that provides real-time monitoring of system resources and process information.

Current Status: ✅ Fully functional with real-time monitoring, process tracking, and optimized performance.

System Monitor Gadget Screenshot

✨ Features

  • Real-time System Monitoring

    • CPU usage with real-time graphing
    • HDD/SSD activity monitoring with I/O statistics
    • Network upload/download speeds with utilization percentage
    • Live performance graphs for all metrics
  • Process Monitoring

    • Top 3 CPU-intensive processes (excludes system idle)
    • Top 3 memory-consuming applications
    • Top 3 disk I/O intensive processes
    • Stacked layout for better visibility
  • User Interface

    • Clean, modern dark theme with custom colors (#202020 background, #0078d4 accents)
    • Compact 240x650 window design positioned in upper-right corner
    • Draggable window with dedicated drag handle
    • Right-click context menu for quick exit
    • Escape key support for quick closing
    • No title bar for minimal footprint
    • Arial font family throughout the interface for consistency
    • Responsive graph scaling with dynamic network utilization display
  • Performance Features

    • Non-blocking CPU monitoring with psutil integration
    • Optimized update intervals (1-second metrics, 2-second process lists)
    • Thread-safe graph updates with matplotlib backend
    • Efficient process filtering (excludes system idle processes)
    • Smart network speed detection with Windows command fallbacks
    • Memory-efficient deque-based data storage (60 data points)
    • Error handling and graceful degradation

🚀 Installation

  1. Clone the repository:

    git clone https://github.com/SamStamport/SystemMonitorGadget.git
    cd SystemMonitorGadget
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Run the application:

    python SystemMonitorGadget.py
    

🎯 Usage

  • The application launches in the upper right corner of your screen (240x650 window)
  • Drag the window by clicking and holding the drag handle at the top
  • Right-click anywhere in the window to access the exit menu
  • Press Escape to exit the application quickly
  • Click the red × button in the top-right corner to close
  • Real-time Updates:
    • System metrics: Every 1 second
    • Process lists: Every 2 seconds (optimized for performance)
    • Graphs: Live updates with 60-point history
  • Automatic Features:
    • Network speed detection (WiFi/Ethernet)
    • System idle process filtering
    • Dynamic graph scaling for network utilization

🖥️ System Requirements

  • OS: Windows 10/11
  • Python: 3.8 or higher
  • Dependencies:
    • psutil - System monitoring
    • matplotlib - Graph visualization
    • numpy - Numerical operations

🛠️ Customization

You can customize the following aspects by editing the SystemMonitorGadget.py file:

  • Window Configuration:

    • Size and position (currently 240x650, upper-right)
    • Color scheme (dark theme with customizable hex colors)
    • Font family and sizes (currently Arial throughout)
  • Monitoring Settings:

    • Update intervals (metrics: 1s, processes: 2s)
    • Graph history length (currently 60 data points)
    • Process count per category (currently top 3)
  • Visual Customization:

    • Graph colors and styles
    • Background and accent colors
    • Font sizes and weights
    • Window transparency and effects

🔧 Technical Details

  • Architecture: Single-threaded UI with background monitoring thread
  • Data Storage: Circular buffers (deque) for efficient memory usage
  • Error Handling: Comprehensive exception handling with graceful fallbacks
  • Platform: Windows-optimized with native command integration
  • Dependencies: Minimal external dependencies for lightweight deployment

📝 License

This project is open source and available under the MIT License.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📊 Current Version

Version: 1.0
Last Updated: December 2024
Status: Production Ready ✅

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages