A satirical desktop environment built with Tauri v2, Svelte 5, and TypeScript. Experience a complete "desktop" interface inside a single application window, complete with draggable windows, a macOS-style dock, and window management features.
# Clone the repository
git clone https://github.com/wimjan123/coalition-desktop-demo.git
cd coalition-desktop-demo
# Install dependencies
npm install
# Start development server (web preview)
npm run dev
# Start Tauri development (native app)
npm run tauri:dev
npm run dev
- Start Vite development server (web preview)npm run build
- Build for productionnpm run tauri:dev
- Start Tauri development modenpm run tauri:build
- Build native applicationnpm run preview
- Preview production buildcoalition-desktop/
โโโ src/ # Frontend source code
โ โโโ lib/
โ โ โโโ components/ # Svelte components
โ โ โ โโโ Desktop.svelte # Main desktop container
โ โ โ โโโ Window.svelte # Window component with controls
โ โ โ โโโ Dock.svelte # macOS-style dock
โ โ โ โโโ Toasts.svelte # Notification system
โ โ โโโ stores/
โ โ โ โโโ stores.ts # Svelte stores for state management
โ โ โโโ types/
โ โ โ โโโ window.ts # TypeScript interfaces
โ โ โโโ utils/ # Utility modules
โ โ โโโ useDrag.ts # Window dragging logic
โ โ โโโ useResize.ts # Window resizing logic
โ โ โโโ snap.ts # Snap-to-grid functionality
โ โ โโโ zorder.ts # Z-index management
โ โโโ routes/
โ โโโ +page.svelte # Application entry point
โโโ src-tauri/ # Tauri backend
โ โโโ src/
โ โ โโโ main.rs # Rust main entry point
โ โโโ Cargo.toml # Rust dependencies
โ โโโ tauri.conf.json # Tauri configuration
โโโ static/ # Static assets
Desktop (main container)
โโโ Window[] (draggable windows)
โ โโโ TitleBar (with controls)
โ โโโ Content (slot for app content)
โ โโโ ResizeHandles (8-direction)
โโโ Dock (app launcher)
โโโ Toasts (notifications)
The dock includes 7 humorous applications:
npm run dev
# Visit http://localhost:5173
npm run tauri:dev
# Native window will open automatically
npm run tauri:build
# Creates distributable app in src-tauri/target/release/
git checkout -b feature/amazing-feature
)git commit -m 'Add amazing feature'
)git push origin feature/amazing-feature
)This project is open source and available under the MIT License.