Application launcher built with Tauri (Rust + TypeScript). Runs on Windows, macOS, and Linux.
Note: This is a monorepo structure with the main launcher application in packages/launcher/
.
- Global shortcut:
Cmd+Shift+Space
(macOS) /Ctrl+Shift+Space
(Windows/Linux) - System tray integration
- Frameless, transparent window
- Performance tracking (development builds)
- Node.js 18+ and pnpm (package manager)
- Rust 1.77.2+ with Cargo
- Platform requirements:
- Windows: WebView2 runtime
- macOS: Xcode Command Line Tools
- Linux: webkit2gtk-dev, build-essential
git clone https://github.com/nukeop/keyed-launcher.git
cd keyed-launcher
pnpm install
# Development
pnpm tauri:dev
# Production build
pnpm tauri:build
The launcher runs in the background with a system tray icon.
- Show/Hide:
Cmd+Shift+Space
(macOS) /Ctrl+Shift+Space
(Windows/Linux) - Hide:
Escape
key or click outside the window - System Tray: Right-click for show/hide or quit
keyed-launcher/
├── packages/
│ └── launcher/ # Main Tauri application
│ ├── src/ # React frontend
│ ├── src-tauri/ # Rust backend
│ └── package.json # Launcher dependencies
├── package.json # Root workspace configuration
└── pnpm-workspace.yaml # pnpm workspace settings
All commands run from the root directory and are automatically routed to the appropriate package.
- Frontend: TypeScript + React + Vite + Tailwind CSS
- Backend: Rust with Tauri framework
- State Management: Zustand
- Testing: Vitest + Testing Library
# Development
pnpm tauri:dev # Start development server
pnpm dev # Frontend only
# Building
pnpm tauri:build # Build production app
pnpm build # Build frontend only
# Testing
pnpm test # Run tests
pnpm test:coverage # Run tests with coverage
pnpm test:watch # Run tests in watch mode
# Linting
pnpm lint # Check code style
pnpm lint:fix # Fix linting issues
pnpm tauri:build
Platform-specific outputs in packages/launcher/src-tauri/target/release/bundle/
:
- Windows:
.msi
installer and.exe
executable - macOS:
.dmg
installer and.app
bundle - Linux:
.deb
,.rpm
packages and.AppImage
Modify in packages/launcher/src-tauri/src/shortcuts.rs
. Default: CmdOrCtrl+Shift+Space
Configure in packages/launcher/src-tauri/tauri.conf.json
:
- Size: 600x400 pixels
- Frameless and transparent
- Always on top, skip taskbar
- Starts hidden
- Fork the repository
- Clone:
git clone https://github.com/your-username/keyed-launcher.git
- Install dependencies:
pnpm install
- Create feature branch:
git checkout -b feature/name
- Make changes and test
- Commit and push
- Open Pull Request
Code style: ESLint + Prettier (TypeScript), cargo fmt + clippy (Rust)
AGPL-3.0 License - see LICENSE file for details.