A lightweight, always-on-top floating productivity widget for Windows that combines a quick to-do reminder list with an innovative hexagonal radial app launcher.
- Simple, always-visible reminders
- Add/edit/delete with minimal friction
- Double-click to edit inline
- Persistent storage across restarts
- Modern radial menu design
- Create named toolbars (e.g., "Dev Tools", "Browser", "Games")
- Drag-and-drop shortcuts from Explorer
- Nested toolbar support
- Right-click for toolbar management
- Stays on top of all windows (like Teams screen share bar)
- Draggable to any position
- Minimizes to system tray
- Auto-start with Windows option
- Position remembered across sessions
- Python 3.12 or higher
- Windows 10/11 (Linux/Mac support possible with minor adjustments)
# Clone or download the project
cd WinBuddy
# Install dependencies with UV
uv sync
# Run the application
uv run python main.py- Right-click the system tray icon
- Check "Start with Windows"
Or manually via right-click on the title bar.
- Click the + button to add a reminder
- Type your reminder and press Enter
- Double-click any item to edit
- Click × on an item to delete it
- Click the center hex to expand toolbars
- Right-click in the expanded area to add a new toolbar
- Drag files/folders from Explorer onto a toolbar to add shortcuts
- Click a toolbar to see its shortcuts
- Click a shortcut to launch it
- Right-click a toolbar to rename, change color, or delete
- Drag the title bar to move the widget
- Click X or minimize to hide to system tray
- Click tray icon to restore
- Right-click tray icon for menu with Exit option
WinBuddy/
├── main.py # Application entry point
├── pyproject.toml # Project configuration
├── src/winbuddy/
│ ├── __init__.py
│ ├── storage.py # JSON data persistence
│ ├── autostart.py # Windows registry auto-start
│ └── widgets/
│ ├── __init__.py
│ ├── main_window.py # Main frameless window
│ ├── todo_list.py # To-do list widget
│ └── hex_launcher.py # Hexagonal launcher widget
└── README.md
User data is stored in:
- Windows:
%APPDATA%\WinBuddy\settings.json- Window position, preferencestodos.json- To-do itemslaunchers.json- Toolbar and shortcut configuration
To create a standalone .exe:
# Install PyInstaller
uv pip install pyinstaller
# Build executable
pyinstaller --onefile --windowed --name WinBuddy main.pyThe executable will be in dist/WinBuddy.exe.
While designed for Windows, the core functionality uses PyQt6 which is cross-platform:
- Windows: Full support including auto-start and system tray
- Linux: Works with desktop environment tray support
- macOS: Works with menu bar support (may need adjustments)
MIT License - feel free to use, modify, and distribute.
Contributions welcome! Please feel free to submit issues and pull requests.
Made with ❤️ for productivity enthusiasts who miss their quick launch toolbars.