The sleekest desktop widget you've never had -- inspired by Apple's Dynamic Island, powered by Rust, themed in anime aesthetics.
A floating, always-on-top pill widget that brings iOS Dynamic Island to your Linux/Windows desktop β with anime sparkles, neon glows, and glassmorphism.
- Now Playing β song title, artist, album art with spinning animation
- Play/pause, skip, previous controls
- Progress bar with neon gradient
- Supports Spotify, VLC, and any MPRIS-compatible player (Linux)
- Real-time CPU & RAM usage with anime-styled progress rings
- Battery level with cute charging animation
- Network speed (upload/download)
- Disk usage overview
- Current temperature & conditions
- Feels like, humidity, wind speed
- Animated weather effects (rain, snow, sun rays)
- Auto-location or manual coordinates
- System notification aggregation
- Slide-in notification cards
- Do Not Disturb mode with moon icon toggle
- Dismiss with poof animation
- Countdown timer with neon digits
- Pomodoro presets (25/5/15 min)
- Stopwatch with lap tracking
- Subtle pulse animation while running
- Last 50 clipboard entries
- Click to re-copy
- Clear history
- Deep purple + neon pink + cyan color palette
- Glassmorphism frosted glass effect
- Floating particle sparkles (sakura, stars)
- Neon glow borders that pulse
- Spring physics animations
- Kawaii-inspired icons and design
- Node.js 18+
- Rust 1.70+
- pnpm 8+
- Linux:
webkit2gtkandlibrsvglibraries - Windows: WebView2 (usually pre-installed)
Ubuntu/Debian
sudo apt install libwebkit2gtk-4.1-dev librsvg2-dev patchelfFedora
sudo dnf install webkit2gtk4.1-devel librsvg2-develArch
sudo pacman -S webkit2gtk-4.1 librsvg# Clone the repository
git clone https://github.com/thanvish21/dynamic-island.git
cd dynamic-island
# Install dependencies
pnpm install
# Run in development mode
pnpm tauri dev
# Build for production
pnpm tauri builddynamic-island/
βββ src/ # Svelte 5 Frontend
β βββ lib/
β β βββ components/ # UI Widgets
β β β βββ Island.svelte # Main container
β β β βββ MediaWidget.svelte # Now Playing
β β β βββ SystemWidget.svelte # CPU/RAM/Battery
β β β βββ WeatherWidget.svelte # Weather display
β β β βββ NotificationWidget.svelte
β β β βββ TimerWidget.svelte # Timer/Stopwatch
β β β βββ ClipboardWidget.svelte # Clipboard history
β β β βββ Particles.svelte # Anime particles
β β βββ stores/ # Svelte stores
β β βββ utils/ # Utilities
β βββ routes/ # SvelteKit pages
βββ src-tauri/ # Rust Backend
β βββ src/
β βββ lib.rs # Tauri app builder
β βββ system.rs # System monitoring
β βββ media.rs # Media controls (MPRIS)
β βββ weather.rs # Weather API
β βββ clipboard.rs # Clipboard history
β βββ notifications.rs # Notification center
β βββ timer.rs # Timer/Stopwatch
βββ .github/workflows/ # CI/CD
| Layer | Technology | Why |
|---|---|---|
| Runtime | Tauri 2.0 | ~15MB RAM, native performance |
| Frontend | Svelte 5 | Smallest bundle, best reactivity |
| Backend | Rust | Zero-cost abstractions, system APIs |
| Styling | CSS | Glassmorphism, animations, no deps |
| Weather | Open-Meteo | Free, no API key needed |
| Media | MPRIS/playerctl | Universal Linux media control |
| Action | Result |
|---|---|
| Hover | Expand island |
| Click widget icon | Switch active widget |
Enter (island focused) |
Toggle expand/collapse |
| Move mouse away | Auto-collapse after 2 seconds |
The theme colors live directly in the component styles under src/lib/components/. To reskin the island, search and replace the palette:
| Color | Hex |
|---|---|
| Neon pink | #ff2d95 |
| Neon cyan | #00f0ff |
| Sakura | #ffb7c5 |
Contributions are welcome! Please read CONTRIBUTING.md first.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License -- see the LICENSE file for details.
- Tauri -- For making lightweight desktop apps possible
- Svelte -- For the best frontend DX
- Open-Meteo -- Free weather API
- Apple -- For the Dynamic Island concept inspiration
Built with love by Thanvish
If you like this project, give it a star!