A sleek Windows taskbar widget that displays real-time network connectivity status using colorful signal bars in your system tray.
Author: mrbeandev β’ Website: mrbean.dev
π₯ Download β’ π Quick Start β’ π§ Build β’ π€ Contribute
π― Visual Network Monitoring
- 6-bar signal strength indicator in system tray
- Real-time connection quality assessment
- Color-coded status for instant recognition
π¨ Smart Color Coding
- π’ Green: Excellent connection (< 400ms response)
- π Orange: Slow connection (400ms - 3000ms response)
- π΄ Red: No connection or very poor (> 3000ms response)
βοΈ Highly Customizable
- Configurable ping intervals (1s, 3s, 5s, 10s, 30s, or custom)
- Custom ping URL support (default:
https://mrbean.dev/health) - Adjustable timeout settings
- Persistent settings storage
π₯οΈ System Integration
- Lightweight system tray application
- Windows startup integration
- Minimal resource usage
- No console window interference
π¦ Easy Distribution
- Single executable file (no Python required)
- Portable - runs on any Windows machine
- Simple startup folder integration
-
6-bar signal strength indicator in the taskbar
-
Color-coded status:
- π’ Green: Good connection (fast response times)
- π Orange: Slow connection (moderate response times)
- π΄ Red: No connection or very slow
-
System tray integration: Lives in your taskbar notification area
-
Customizable ping intervals: 1s, 3s, 5s, 10s, 30s, or custom
-
Configurable ping URL: Default uses
https://mrbean.dev/health -
Real-time monitoring: Continuous network status updates
-
Context menu: Right-click for settings and options
- Download the latest
NetworkStatusWidget.exefrom Releases - Run the executable - it will appear in your system tray
- Right-click the signal bars for settings and options
-
Clone the repository:
git clone https://github.com/mrbeandev/network-status-widget.git cd network-status-widget -
Install dependencies:
pip install -r requirements.txt
-
Run the widget:
python taskbar_network_widget.py
- After starting, look for the signal bars icon in your system tray (taskbar notification area)
- The bars will fill up based on connection quality:
- More bars = better connection
- Color indicates overall status
- Right-click the icon for options:
- View current status
- Change ping intervals
- Modify ping URL
- Test connection
- Exit application
- 6 bars (Green): Excellent connection (< 100ms)
- 5 bars (Green): Very good connection (< 200ms)
- 4 bars (Green): Good connection (< 400ms)
- 3 bars (Orange): Fair connection (< 800ms)
- 2 bars (Orange): Slow connection (< 1500ms)
- 1 bar (Orange/Red): Very slow connection (< 3000ms)
- 0 bars (Red): No connection
The widget automatically saves your preferences:
- Ping interval (how often to check)
- Custom ping URL (default: https://mrbean.dev/health)
- Request timeout settings
All settings are stored in network_widget_settings.json and persist between sessions.
To create a standalone executable file:
-
Build the exe:
python build_exe.py
Or double-click
build.bat -
Add to Windows startup:
- Right-click
add_to_startup.batand "Run as administrator" - The widget will now start automatically with Windows
- Right-click
The executable will be created in the dist/ folder as NetworkStatusWidget.exe.
For detailed build instructions, see BUILD_INSTRUCTIONS.md.
The widget appears as signal bars in your Windows system tray, showing connection status at a glance.
Right-click the icon to access all settings and options:
- View current network status
- Change ping intervals
- Modify ping URL
- Test connection
- Access about information
| Bars | Color | Status | Response Time |
|---|---|---|---|
| 6 bars | π’ Green | Excellent | < 100ms |
| 5 bars | π’ Green | Very Good | < 200ms |
| 4 bars | π’ Green | Good | < 400ms |
| 3 bars | π Orange | Fair | < 800ms |
| 2 bars | π Orange | Slow | < 1500ms |
| 1 bar | π Orange | Very Slow | < 3000ms |
| 0 bars | π΄ Red | No Connection | No response |
The widget automatically saves your preferences in network_widget_settings.json:
{
"ping_url": "https://mrbean.dev/health",
"ping_interval": 5,
"timeout": 3,
"signal_bars": 6
}- Ping URL: Any HTTP/HTTPS endpoint for connectivity testing
- Ping Interval: How often to check connection (1-300 seconds)
- Timeout: Request timeout duration (1-30 seconds)
- Signal Bars: Number of bars to display (fixed at 6)
- Build or download the executable
- Right-click
add_to_startup.batand select "Run as administrator" - The widget will now start automatically with Windows
- Press
Win + R, typeshell:startup, press Enter - Copy
NetworkStatusWidget.exeto the startup folder - The widget will start with Windows
- Python 3.7 or higher
- Windows operating system
- Internet connection for testing
# Clone the repository
git clone https://github.com/mrbeandev/network-status-widget.git
cd network-status-widget
# Create virtual environment
python -m venv .venv
.venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run from source
python taskbar_network_widget.pynetwork-status-widget/
βββ taskbar_network_widget.py # Main application
βββ build_exe.py # Build script
βββ requirements.txt # Dependencies
βββ README.md # This file
βββ BUILD_INSTRUCTIONS.md # Build guide
βββ CONTRIBUTING.md # Contribution guidelines
βββ CHANGELOG.md # Version history
βββ LICENSE # MIT License
βββ .gitignore # Git ignore rules
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
- π Report bugs and issues
- π‘ Suggest new features
- π§ Submit code improvements
- π Improve documentation
- π¨ Design better icons or UI
- Unit tests and automated testing
- Multiple ping URL support
- Network adapter selection
- Bandwidth monitoring
- Custom themes and icons
- Sound notifications
- Network statistics logging
- Configuration import/export
Widget doesn't appear in system tray
- Check if the application is running in Task Manager
- Look in the hidden icons area (click the up arrow in system tray)
No network detection
- Check firewall settings
- Try changing the ping URL in settings
- Verify internet connection with browser
Build fails
- Ensure Python 3.7+ is installed
- Run
pip install -r requirements.txt - Check for antivirus interference
Startup doesn't work
- Run
add_to_startup.batas administrator - Manually check the startup folder:
Win + Rβshell:startup
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with pystray for system tray integration
- Uses Pillow for icon generation
- Packaged with PyInstaller for distribution
- Network testing via mrbean.dev health endpoint
Made with β€οΈ for Windows users who want to monitor their network connection
Author: mrbeandev β’ Website: mrbean.dev
β Star this repo β’ π Report Bug β’ π‘ Request Feature