DesktopGo logo

简体中文 | English

DesktopGo

A Windows desktop launchpad that brings app launching, icon organization, and Everything-powered file search into one focused entry point.

Download Latest · Releases · Report an Issue

Platform Tauri 2 React 19 TypeScript License MIT

DesktopGo is a Windows desktop launchpad built with Tauri 2, React 19, and Rust. It borrows the interaction spirit of macOS Launchpad, but its feature set is designed around real Windows desktop workflows: - A global shortcut to bring up a unified entry point - Drag-and-drop, paged organization for desktop icons and custom app entries - Fast file search, preview, and launch powered by Everything ## 🚀 Download If you only want to use DesktopGo, you do not need Node.js or Rust locally. Just download the latest release: - Latest release: - All releases: - Release notes for `v1.0.4`: [`docs/RELEASE_NOTES/v1.0.4.md`](docs/RELEASE_NOTES/v1.0.4.md) - User Guide (English): [`docs/USER_GUIDE.en.md`](docs/USER_GUIDE.en.md) - 使用说明(中文): [`docs/USER_GUIDE.zh-CN.md`](docs/USER_GUIDE.zh-CN.md) Install flow: 1. Download and run the latest installer. 2. If Everything is not installed on your machine yet, keep the "Install Everything" option enabled. 3. After installation, use the default shortcut `Ctrl+Space` to open the launchpad. ## 🖼 Screenshots
DesktopGo launchpad preview placeholder
DesktopGo search panel preview placeholder DesktopGo settings preview placeholder
## ✨ Highlights ### ⌨️ Launchpad Entry - Global shortcut support, `Ctrl+Space` by default - Tray-resident app with quick reopen behavior - Main window hides automatically on blur - Four window modes: `fullscreen`, `large`, `medium`, and `small` ### 🧩 Icon Organization - Loads desktop icons into a launchpad-style grid - Drag-and-drop sorting, paging, and cross-page movement - Folder creation, rename, and open support - Dock area for frequently used entries - Bulk selection, hide, and delete operations - Layout order and related settings are stored locally - Supports a `customapp` directory for entries beyond the desktop ### 🔎 File Search - Integrates Everything for fast file search - Search history, filters, sort options, and keyboard navigation - Preview support before opening results - Virtualized loading for large result sets - Search bar can switch between desktop icon search and Everything search ### ⚙️ Settings and Updates - Theme, icon size, title lines, Dock visibility, and more - Search behavior settings such as live search, default filters, sorting, and page size - Icon management page for incremental or full sync of desktop and `customapp` sources - GitHub Releases update channel already integrated ## 📊 Comparison | Capability | DesktopGo | Native Windows Desktop | Everything Alone | | --- | --- | --- | --- | | Unified entry point | Launch, organize, and search in one place | Split across desktop, Start menu, and Explorer | Mainly focused on search | | Global shortcut entry | Yes, default `Ctrl+Space` | Not a core workflow | Supports its own search window, not desktop organization | | Desktop icon organization | Paged layout, drag-and-drop, folders, Dock | Basic layout only | No | | File search | Yes, backed by installed Everything | Limited | Core strength | | Result preview | Yes | Limited | Not the core focus | | Local layout and settings persistence | Yes | Fragmented | Search-side config only | ## 🗺 Roadmap ### ✅ Done - [x] Global shortcut, tray residency, and blur-to-hide launchpad behavior - [x] Desktop icon loading, drag-and-drop sorting, paging, folders, and Dock - [x] Everything search, history, filtering, sorting, and preview - [x] Settings page, icon management page, and GitHub Releases update flow ### 🔜 Next ## ⚠️ Current Limits - Windows only for now - File search currently supports installed Everything only - `customapp` scans one directory level only - Updates depend on signed release artifacts and `latest.json` ## 🛠 Quick Start ### Development Requirements - Node.js and `pnpm` - Stable Rust toolchain - Tauri prerequisites for Windows such as WebView2 and the MSVC build toolchain ### Run Locally ```bash pnpm install pnpm tauri dev ``` Notes: - `pnpm tauri dev` starts both the frontend and the Tauri desktop shell, and is the primary development command for this project - `pnpm dev` starts only the Vite frontend server, which is useful for UI-only work but not for validating full desktop behavior ## 📦 Common Commands - `pnpm tauri dev`: start the desktop development environment - `pnpm build`: build frontend assets into `dist/` - `pnpm tauri build`: build the desktop installer/package - `pnpm test`: run the current frontend script test in the repo - `pnpm lint`: run ESLint - `pnpm lint:fix`: auto-fix ESLint issues where possible - `pnpm format`: format `src/**/*.{ts,tsx,css}` ## 🧱 Tech Stack - Frontend: React 19, TypeScript, Vite 7 - Desktop shell: Tauri 2 - Native layer: Rust, Windows API, rusqlite - State and interaction: Zustand, dnd-kit, Framer Motion, Radix UI - Search: Everything SDK + IPC - Persistence: Tauri Store + SQLite ## 📁 Project Structure ```text DesktopGo/ ├─ src/ # React frontend ├─ src-tauri/ # Tauri / Rust / NSIS packaging config │ ├─ src/ # Tauri commands, Everything, icons, layout logic │ ├─ nsis/ # Windows installer hooks and language files │ └─ resources/ # Everything SDK and installer resources ├─ docs/ │ ├─ RELEASE_NOTES/ # Release notes │ └─ screenshots/ # README screenshot assets ├─ LICENSE.txt # Project license ├─ README.en.md # English documentation └─ README.md # Default Chinese documentation ``` ## 🧩 Data and Directories ### `customapp` Directory - When `customAppDir` is not explicitly configured, DesktopGo defaults to a `customapp/` directory next to the executable - The directory is created automatically if it does not exist - Only the first directory level is scanned right now ### Local Persistence - General settings are stored through Tauri Store in `settings.json` - Launchpad layout, search settings, and related state are stored in `app_state.db` under the local app data directory - Icon organization and search runtime metadata are kept local-first, without a remote service dependency ## 🔧 Troubleshooting ### Search Is Not Working Check these first: - Whether Everything is installed - Whether Everything is running - Whether DesktopGo and Everything run at the same privilege level - Whether the installer was allowed to install Everything ### `customapp` Entries Are Missing - Confirm that `customAppDir` points to the expected directory in settings - After adding new entries, run an incremental sync in settings - If you reorganized the directory heavily, a full sync is safer ## 🤝 Links - [linux.do](https://linux.do/) ## 📄 License Released under the MIT License. See [`LICENSE.txt`](LICENSE.txt).