Portable software to overtake a Windows OS instead of suffering their flawed solutions
graph TD
LAUNCH["launch_all.pyw
Auto-launcher"]
LAUNCHER["launcher.py
Master Suite Launcher"]
NIGGLY["niggly.py
Window Focus Rules"]
TILES["tiles.py
Window Tiles"]
LAUNCHER_CFG[("launcher_config.json")]
NIGGLY_CFG[("niggly_config.json")]
TILES_CFG[("tiles_config.json")]
CANVAS_CFG[("canvas_config.json")]
TRAY_MI(["System Tray: MI"])
TRAY_NM(["System Tray: NM"])
TRAY_TL(["System Tray: TL"])
SIDEBAR["TilesWindow
Sidebar mode"]
CANVAS["DesktopCanvas
Full-screen mode"]
GHOST["Passthrough Mode
WS_EX_TRANSPARENT"]
WIN32["win32gui / win32api
Window management"]
PYSTRAY["pystray
Tray icons"]
LAUNCH -->|starts| LAUNCHER
LAUNCH -->|starts| NIGGLY
LAUNCH -->|starts| TILES
LAUNCHER -->|launches & monitors| NIGGLY
LAUNCHER -->|launches & monitors| TILES
LAUNCHER -->|reads/writes| LAUNCHER_CFG
LAUNCHER -->|icon| TRAY_MI
TRAY_MI -.->|via| PYSTRAY
NIGGLY -->|reads| NIGGLY_CFG
NIGGLY -->|monitors focus & applies rules| WIN32
NIGGLY -->|icon| TRAY_NM
TRAY_NM -.->|via| PYSTRAY
TILES -->|reads/writes| TILES_CFG
TILES -->|reads/writes| CANVAS_CFG
TILES -->|icon| TRAY_TL
TRAY_TL -.->|via| PYSTRAY
TILES --> SIDEBAR
TILES --> CANVAS
CANVAS --> GHOST
TILES -->|enumerates windows| WIN32
style LAUNCH fill:#fab387,stroke:#fab387,color:#0f0f1a
style LAUNCHER fill:#cba6f7,stroke:#f5c2e7,color:#0f0f1a
style NIGGLY fill:#cba6f7,stroke:#cba6f7,color:#0f0f1a
style TILES fill:#94e2d5,stroke:#94e2d5,color:#0f0f1a
style LAUNCHER_CFG fill:#f9e2af,stroke:#f9e2af,color:#0f0f1a
style NIGGLY_CFG fill:#f9e2af,stroke:#f9e2af,color:#0f0f1a
style TILES_CFG fill:#f9e2af,stroke:#f9e2af,color:#0f0f1a
style CANVAS_CFG fill:#f9e2af,stroke:#f9e2af,color:#0f0f1a
style WIN32 fill:#313244,stroke:#89b4fa,color:#cdd6f4
style PYSTRAY fill:#313244,stroke:#89b4fa,color:#cdd6f4
style SIDEBAR fill:#1e1e2e,stroke:#94e2d5,color:#94e2d5
style CANVAS fill:#1e1e2e,stroke:#94e2d5,color:#94e2d5
style GHOST fill:#1e1e2e,stroke:#f38ba8,color:#f38ba8
style TRAY_MI fill:#1e1e2e,stroke:#f5c2e7,color:#f5c2e7
style TRAY_NM fill:#1e1e2e,stroke:#cba6f7,color:#cba6f7
style TRAY_TL fill:#1e1e2e,stroke:#94e2d5,color:#94e2d5
| File | Stores |
|---|---|
| niggly_config.json | IF/THEN focus rules — which windows to auto-minimise when a target window gains focus |
| tiles_config.json | Tile colours, category groupings, sidebar layout preferences, and window filter rules |
| canvas_config.json | Desktop canvas free-placement positions, drawable zone definitions, and ghost-mode opacity settings |
| launcher_config.json | Launch counts per applet, total launches, XP points, and current level |
Run everything at once (silent, no console):
# Double-click or add a shortcut to shell:startup
pythonw launch_all.pyw
Run individual applets:
# Master Suite Launcher (gamification UI) python launcher.py # Window Focus Rules python niggly.py # Window Tiles + Desktop Canvas python tiles.py
Dependencies:
pip install pywin32 pystray Pillow