A lightweight Windows 11 system tray application that animates the classic box-breathing pattern β a dot travels around a square, spending exactly 4 seconds on each side (inhale β hold β exhale β hold), all visible as an animated icon in your taskbar notification area.
| Feature | Details |
|---|---|
| π― System tray only | No main window cluttering your desktop |
| π Smooth animation | ~60 fps dot-on-square in the tray icon |
| β± Customisable timing | 1β60 seconds per side (default: 4 s) |
| π¨ Customisable colours | Square outline, dot, and background |
| πΎ Persistent settings | Saved to %APPDATA%\BoxBreathingTray\settings.json |
| π Auto-start | Installer registers a run-at-login registry key |
| π¦ Single-file exe | No .NET runtime required β fully self-contained |
- Run
BoxBreathingTray_Setup_1.0.0.exe - The app starts immediately and sits in the system tray (bottom-right corner β you may need to expand the tray overflow)
- Right-click the animated icon β Settingsβ¦ to customise colours and timing
- .NET 8 SDK (or later)
- Windows 10 / 11
- (Optional) Inno Setup 6 β to compile the installer
# Clone / download the source, then:
cd BoxBreathingTray
# Build + publish (produces a self-contained single EXE)
.\build.ps1
# The exe will be at: .\publish\BoxBreathingTray.exe
# The installer (if Inno Setup is installed): .\installer\BoxBreathingTray_Setup_1.0.0.exeOr manually:
dotnet publish BoxBreathingTray.csproj `
--configuration Release `
--runtime win-x64 `
--self-contained true `
/p:PublishSingleFile=true `
--output publishBoxBreathingTray/
βββ Program.cs # Entry point β starts TrayApplicationContext
βββ TrayApplicationContext.cs # ApplicationContext: owns the NotifyIcon
βββ AnimationEngine.cs # Background thread that renders icon frames
βββ BreathingSettings.cs # Settings model + JSON load/save
βββ SettingsForm.cs # Colour + timing settings window
βββ BoxBreathingTray.csproj # SDK-style project (net8.0-windows)
βββ app.manifest # Per-monitor DPI v2 + Win11 compat
βββ installer.iss # Inno Setup script β setup .exe
βββ build.ps1 # One-command build + package script
Side 0 (top): dot travels LEFT β RIGHT (Inhale)
Side 1 (right): dot travels TOP β BOTTOM (Hold)
Side 2 (bottom): dot travels RIGHT β LEFT (Exhale)
Side 3 (left): dot travels BOTTOM β TOP (Hold)
At the default 4 s/side the full cycle is 16 seconds, matching the box-breathing (4-4-4-4) technique.
%APPDATA%\BoxBreathingTray\settings.json
{
"SecondsPerSide": 4,
"SquareColorArgb": -11206656,
"DotColorArgb": -1,
"BackgroundColorArgb": -16777186
}Delete this file to reset all settings to defaults.
Control Panel β Programs β Box Breathing Tray β Uninstall
This removes the application files and the auto-start registry entry.