FLOAT
A Dynamic Island for Windows.
FLOAT is a lightweight MacBook-style notch for Windows. It hangs from the top of your screen and brings media controls, a live audio visualizer, Windows notifications, a volume HUD and quick settings into one place.
FLOAT v2.0.0
A ground-up redesign: a MacBook-style notch with real liquid glass, a calm focused panel, and a set of everyday tools. See CHANGELOG.md for everything that changed.
✨ Features
- MacBook-Style Notch: Solid black, flush with the top edge, with concave corners that join it to the bezel. It grows downward to fit whatever is live: a quiet notch when idle, a slim strip for music, a taller drop-down for notifications.
- Optional Orb Mode: Prefer a floating circle? Set Idle Behavior to Orb and the island shrinks to a 48×48 orb after ~3 seconds untouched.
- Interactive Awakening: Hovering over or interacting with the Orb smoothly restores the active compact pill.
- Spotify & Windows GSMTC Media Integration: Universal support for Spotify, Apple Music, YouTube, and browser playback via Windows Global System Media Transport Controls.
- Live Audio Visualizer: The equalizer bars follow the actual sound playing (WASAPI loopback, low/mid/high bands), falling back to a gentle animation when output is muted.
- Album-Art Accent: The equalizer, progress bar and a soft glow under the notch take on the dominant color of the current album art.
- Continuous Title Marquee: Long track titles smoothly scroll in a continuous loop without clipping.
- Album Artwork: Embedded album art displayed with fluid cross-fades.
- Playback Controls: Instant play/pause, next track, previous track, and interactive timeline scrubbing.
- Universal Windows Notifications: Directly integrates with Windows
UserNotificationListenerto detect system and app toast notifications (WhatsApp, Discord, Slack, Outlook, Notepad, etc.). - 3.5-Second Notification Preview: Incoming notifications trigger an automatic ~3.5-second island banner expansion.
- State Restoration: After 3.5 seconds, FLOAT automatically returns to the exact state it was in before the notification arrived (Spotify player, compact pill, or ambient orb).
- Persistent Notification Center: Notifications survive the temporary preview and remain stored in a dedicated Notification Section until dismissed.
- Notification Count Badge: Real-time unread count badge in the surface navigation bar.
- Scrollable Notification List: Scroll container with fixed headers and custom slim glass scrollbars.
- Individual Dismissal & Clear All: Dismiss single notifications with one click or clear the entire history at once.
- Live Activities & Split Island: When two things are live at once (for example a notification arrives while music plays), the top one owns the pill and the other detaches into a bubble beside it, Dynamic Island style.
- Click-Through Window: Only the island itself catches the mouse; the space around it passes clicks to the apps underneath, and morphs never resize the native window.
- Hide in Fullscreen: The island gets out of the way of fullscreen games, videos and presentations.
- Real Liquid Glass: A native compositor backdrop blurs whatever is actually behind the island, shaped to it and updated every frame, with lit edges and gloss drawn on top. No screen capture, so it costs no CPU and FLOAT still appears in screenshots.
- Notch or Floating Pill: Docked at the top edge it is the black notch. Drag it off and it becomes a floating glass pill you can park anywhere; drop it back near the top to dock it again.
- Visual Styles: Auto (black notch docked, glass when floating), Glass everywhere, or Black everywhere, with an adjustable glass tint.
- Apple-Style Shapes: The island is drawn as one vector outline with true continuous corners (not rounded rectangles), including the notch's ears, and content blurs and scales as it changes.
- One Design System: A single type scale (Inter), icon family, spacing grid and control set across every view, with color reserved for meaning.
- Hover to Open: Rest the pointer on the notch and the panel opens; move away and it closes (click-to-open is one setting away).
- Real App Icons: Notifications show the sending app's icon.
- Gestures: Scroll over the island to change volume (with an on-island volume HUD), scroll sideways to skip tracks, swipe a notification up to dismiss it.
- Spring Physics: Morphs follow your Animation Intensity, from calm to bouncy, and the island squishes when pressed.
- Focused Home: Open the notch and you get just the player (or a large clock when nothing plays) and one calm line: the time, weather, and your next calendar event or task. Everything else is one tab away.
- Tasks: A simple to-do list. Type, press Enter, tick it off. Stored only on this PC; the next open task shows on Home.
- Timer & Stopwatch: Type any duration into the big readout or tap a preset; it counts down live in the notch and chimes when done.
- File Shelf: Drag files onto the notch to park them, then drag them out into any app later.
- Clipboard History: Recent copied text and images, one click to copy again. In memory only; content apps mark as private (passwords) is never kept.
- Control Center: Wi-Fi and Bluetooth toggles, a list of nearby Wi-Fi networks to join (with an inline password prompt), paired Bluetooth devices, volume and brightness sliders, battery and Focus status.
- System Live Activities: Volume and brightness HUDs for the hardware keys, charging and low-battery alerts, Bluetooth devices connecting, Focus turning on or off, and Mac-style green/orange dots while the camera or microphone is in use.
- Synced Lyrics (opt-in): The current lyric line under the playing track, from LRCLIB.
- Persistent User Preferences: Local persistence for transparency, pill length, orb size, idle behavior, and privacy toggles.
- Tray Icon & Global Hotkey: Open the island from the tray or with
Ctrl+Alt+Space(falls back toAlt+Shift+SpaceorCtrl+Alt+Iif another app owns it). - Launch at Startup: Optional, from Settings or the tray menu.
- Remembered Position: FLOAT remembers where you left it, docked or floating.
- Multi-Monitor & DPI Aware: Crisp rendering across standard and high-DPI Windows display scaling.
- Packaged AppModel Identity: MSIX package architecture with native Windows restricted capabilities.
🔄 How FLOAT Works
[ Normal Flow ]
Compact Pill ────────( ~3s untouched )───────► Ambient Orb (48×48)
▲ │
└──────────────( hover / double-tap )────────────┘
[ Notification Flow ]
Active State (Media / Pill / Orb)
│
▼ (Windows toast arrives)
Temporary Preview Banner (~3.5s)
│ (media keeps playing in a split bubble beside the pill)
│
▼ (3.5s dwell expires)
Exact Previous State Restored (Media / Pill / Orb)
└─► Notification remains saved in Notification Section
[ Media Flow ]
Media Stream Detected ──► Media Pill (Album Art + Marquee Title + Equalizer)
[ Expanded Surface Flow ]
Pill / Orb ──( Click )──► Expanded Surface [ Media | Notifications | Settings ]
🖼️ Screenshots
The notch


Home

Tasks and Timer


Floating glass


🎮 Controls & Gestures
| Gesture / Action | Target | Result |
|---|---|---|
| Single Click | Compact Pill | Opens Expanded Surface |
| Single Click | Orb | Opens Quick Actions or Notification Preview |
| Double Click | Compact Pill | Morphs to Orb |
| Scroll | Island | Changes system volume and shows the volume HUD |
| Scroll sideways / Shift+Scroll | Island | Previous / next track |
| Swipe up | Notification | Dismisses it |
| Double Click | Orb | Morphs to Compact Pill |
| Hover (200ms dwell) | Compact Pill | Expands to Compact Preview |
| Hover | Orb | Wakes up and morphs to Compact Pill |
| Pointer Leave | Compact Preview | Returns to Compact Pill (160ms delay) |
| Click | Split Bubble | Opens Expanded Surface |
| Click outside | Expanded Surface | Collapses back to resting mode |
| Drag | Island | Repositions FLOAT; drops near top-center snap back to it |
| Escape Key | Expanded Surface / Preview | Closes surface / preview and returns to resting mode |
Ctrl+Alt+Space |
Anywhere | Toggles the Expanded Surface (see Settings for the active hotkey) |
| Left-click | Tray icon | Opens the Expanded Surface |
🚀 Installation
For Users
Download from the Releases page:
- Setup program (recommended): run
FLOAT_2.0.0_x64-setup.exe. If Windows SmartScreen appears, choose More info, then Run anyway. - MSIX package:
FLOAT.msixneeds FLOAT's certificate trusted once before it will install on a new PC.
Step-by-step instructions for both are in docs/INSTALL.md.
For Developers
Clone the repository and build from source:
git clone https://github.com/Sahaj1207/FLOAT.git
cd FLOAT
⚡ Quick Start
Prerequisites
- Windows: Windows 10 (Build 17763 / Version 1809+) or Windows 11
- Node.js: v18.0 or higher (v20+ recommended)
- Rust: 1.75.0 or higher (
cargo,rustc) - Tauri Prerequisites: C++ Build Tools for Visual Studio 2022
- WebView2 Runtime: Pre-installed on Windows 11 and modern Windows 10
Development Mode
# Install dependencies
npm install
# Start Vite dev server + Tauri desktop window
npm run tauri dev
MSIX Release Packaging
To compile the production bundle, build the Rust binary with custom protocol, generate the AppxManifest, pack the MSIX, sign it with a developer certificate, and install it locally:
powershell -ExecutionPolicy Bypass -File .\scripts\package-msix.ps1
🔐 Privacy
- Local Processing: All media and notification data is processed locally on your machine using standard Windows WinRT and GSMTC APIs.
- No Cloud Account: FLOAT does not require external user accounts, cloud servers, or API keys for its core functionality.
- Privacy Mode: You can disable notification content previews in the Settings tab to hide message titles and bodies while retaining presence dots.
- Network Use: Only three opt-in features talk to the internet, and all are off until you set them up: Synced Lyrics sends the playing track's title, artist, album and length to lrclib.net; Weather sends the city name you type to open-meteo.com; Calendar downloads the private ICS link you paste.
- Wi-Fi passwords you type to join a network go straight to Windows, which stores the profile; FLOAT keeps nothing.
- Clipboard History stays in memory and is never written to disk. Content that apps flag as private (password managers) is skipped, and turning the feature off clears it.
- File Shelf stores only file paths, in your app data folder; files are never copied or uploaded.
🛠️ Tech Stack
- Desktop Framework: Tauri 2.0
- Backend: Rust (WinRT,
windows-rs,win-gsmtc,tokio,serde) - Frontend: React 19, TypeScript
- Build Tool: Vite
- Animation Engine: Framer Motion
- Webview: Microsoft Edge WebView2
- Packaging: Windows MSIX / AppModel Identity
📂 Project Structure
FLOAT/
├── .vscode/ # Recommended workspace extensions
├── assets/
│ └── screenshots/ # Official FLOAT screenshots
│ ├── float-media.png
│ ├── float-notification.png
│ ├── float-notifications.png
│ ├── float-orb.png
│ ├── float-pill.png
│ └── float-settings.png
├── docs/ # Full documentation
│ ├── USER_GUIDE.md # Complete end-user manual
│ └── DEVELOPMENT.md # Architecture, IPC, and packaging guide
├── scripts/ # Build and packaging automation
│ └── package-msix.ps1 # Automated MSIX packager with dynamic SDK discovery
├── src/ # React 19 Frontend
│ ├── components/float/ # FloatPill, FloatOrb, FloatSurface, Notifications, Settings
│ ├── platform/ # Tauri IPC bindings (media, notifications, focus)
│ ├── services/ # Settings persistence and theme application
│ ├── App.tsx
│ ├── index.css
│ └── main.tsx
├── src-tauri/ # Rust Backend
│ ├── icons/ # Application icons for Windows AppX
│ ├── src/
│ │ ├── focus.rs # Windows Focus Assist / Quiet Hours detection
│ │ ├── lib.rs # Window sync, commands, and event registration
│ │ ├── main.rs # Application entry point
│ │ ├── media.rs # Windows GSMTC media session monitoring & controls
│ │ └── notifications.rs # Windows UserNotificationListener event listener
│ ├── Cargo.toml
│ └── tauri.conf.json
├── .gitignore
├── CONTRIBUTING.md # Guidelines for contributors
├── LICENSE # MIT License
├── package.json
├── tsconfig.json
└── vite.config.ts
📦 Project Status
FLOAT v2.0.0 is the latest release. It replaces the 1.x pill and orb with the notch design and adds the panel tools (Tray, Tasks, Timer, Controls). Install the MSIX for the full experience: launch at startup, instant notifications and Wi-Fi/Bluetooth toggles need the packaged app.
Glass needs Windows 11; on Windows 10 the island falls back to a solid tint.
📄 License
Distributed under the MIT License.
Built With
- css
- html
- powershell
- rust
- typescript
Log in or sign up for Devpost to join the conversation.