A personal dashboard application built with Tauri for ultra-wide monitors (32:9 aspect ratio). Displays multiple widgets including clock, weather, media playback, calendar, email, system stats, and more.
- Always-on-top dashboard - Stays visible above other windows
- 6 color themes - Pink, Teal, Sunset, Midnight, Emerald, Rose
- Performance mode - Glass Blur Full/Lite/Off in Settings to cut standing GPU usage
- System tray integration - Minimizes to tray, hides from taskbar in fullscreen
- Native Windows integration:
- Now Playing (media session)
- Audio mixer control
- System stats (CPU, RAM, GPU, disk)
- Recent files access
- Widget collection:
- Clock with date
- Weather (Open-Meteo)
- Now Playing (Windows media session)
- Twitch stream embed with IRC chat
- Countdown timer
- Reminders/Task list
- Calendar (Microsoft Graph)
- Email inbox (Microsoft Graph)
- Claude usage stats
- Calculator
- Audio visualizer (multiple modes)
- Windows 10/11 (64-bit)
- WebView2 Runtime (bundled with installer)
- Node.js v18 or higher
- Rust (latest stable)
- Visual Studio Build Tools with C++ workload
Download the latest .msi installer from the Releases page.
# Clone the repository
git clone https://github.com/reidhavens/widget-wall-desktop.git
cd widget-wall-desktop
# Install dependencies
npm install
# Build the application
npm run tauri buildThe installers will be at:
src-tauri/target/release/bundle/msi/Widget Wall_1.0.0_x64_en-US.msisrc-tauri/target/release/bundle/nsis/Widget Wall_1.0.0_x64-setup.exe
Every push runs .github/workflows/build-windows.yml on a Windows runner and
uploads the exe + MSI + NSIS installers as the widget-wall-windows artifact -
download it from the run's page under the repo's Actions tab.
# Install dependencies
npm install
# Run in development mode (browser preview only)
npm run dev
# Run with Tauri (full app with native features)
npm run tauri devNote: Native features (audio mixer, system stats, recent files) only work when running with Tauri, not in browser preview.
On first launch, configure the following in the Settings panel (gear icon):
| Widget | Service | How to Get |
|---|---|---|
| Weather | OpenWeatherMap | Get free API key |
| Calendar/Email | Microsoft Azure | Register an app |
| Twitch | Twitch Developer | Create an app |
| Spotify | Spotify Developer | Create an app |
- Go to openweathermap.org
- Sign up for a free account
- Navigate to "API Keys" in your profile
- Copy your API key
- Enter in Widget Wall Settings > Weather
- Go to Azure Portal
- Navigate to Azure Active Directory > App registrations
- Click "New registration"
- Name: "Widget Wall Desktop"
- Supported account types: "Personal Microsoft accounts only" (or include org accounts)
- Redirect URI:
https://localhost:1420/auth-callback.html(Web) - Copy the Application (client) ID
- Enter in Widget Wall Settings > Microsoft
- Go to Twitch Developer Console
- Click "Register Your Application"
- Name: "Widget Wall"
- OAuth Redirect URLs:
https://localhost:1420/auth-callback.html - Category: "Application Integration"
- Copy the Client ID
- Enter in Widget Wall Settings > Twitch
- Go to Spotify Developer Dashboard
- Create an app
- Add Redirect URI:
https://localhost:1420/auth-callback.html - Copy Client ID and Client Secret
- Enter in Widget Wall Settings > Spotify
| Shortcut | Action |
|---|---|
F11 |
Toggle fullscreen |
Escape |
Exit fullscreen |
- Left-click: Show/restore window
- Right-click menu:
- Show Window
- Toggle Fullscreen
- Quit
Click the theme toggle button to cycle through available themes:
- Pink (default)
- Teal
- Sunset
- Midnight
- Emerald
- Rose
widget-wall-desktop/
├── src/
│ ├── index.html # Main entry point
│ ├── auth-callback.html # OAuth callback
│ └── public/ # Static assets (copied to dist/)
│ ├── scripts/ # JavaScript modules
│ │ ├── main.js # Component loader
│ │ ├── lib/ # Third-party libs
│ │ └── widgets/ # Widget JS modules
│ ├── widgets/ # HTML widget partials
│ ├── styles/ # CSS files
│ └── assets/ # Images, sounds, textures
├── src-tauri/
│ ├── src/lib.rs # Rust backend (commands, tray)
│ ├── src/main.rs # Binary entry point
│ ├── capabilities/ # Tauri v2 window permissions
│ ├── tauri.conf.json # Tauri v2 config
│ └── icons/ # App icons
├── scripts/ # Build scripts
├── package.json
└── vite.config.ts
- No secrets in code: All API keys are entered by users and stored in browser localStorage
- Local storage only: Credentials never leave your machine
- HTTPS only: All API calls use HTTPS
- OAuth flows: Microsoft and Spotify use proper OAuth 2.0 with PKCE where supported
# Windows
netstat -ano | findstr :1420
taskkill /PID <PID> /FThe MSI installer bundles WebView2. If running from source and WebView2 is missing:
- Download from Microsoft WebView2
Native features (audio mixer, system stats) only work in the Tauri app, not browser preview:
npm run tauri dev # Use this instead of npm run devProprietary - Havens Consulting Inc.
- Built with Tauri (Rust + WebView2)
- Weather data from OpenWeatherMap
- Microsoft integration via Microsoft Graph
- Twitch emotes via FFZ, BTTV, 7TV
- Icons and design by Havens Consulting Inc.