Skip to content

nukeop/keyed-launcher

Repository files navigation

Keyed Launcher

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/.

Features

  • Global shortcut: Cmd+Shift+Space (macOS) / Ctrl+Shift+Space (Windows/Linux)
  • System tray integration
  • Frameless, transparent window
  • Performance tracking (development builds)

Installation

Prerequisites

  • 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

Build and Run

git clone https://github.com/nukeop/keyed-launcher.git
cd keyed-launcher
pnpm install

# Development
pnpm tauri:dev

# Production build
pnpm tauri:build

Usage

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

Development

Monorepo Structure

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.

Tech Stack

  • Frontend: TypeScript + React + Vite + Tailwind CSS
  • Backend: Rust with Tauri framework
  • State Management: Zustand
  • Testing: Vitest + Testing Library

Commands

# 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

Build Output

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

Configuration

Global Shortcut

Modify in packages/launcher/src-tauri/src/shortcuts.rs. Default: CmdOrCtrl+Shift+Space

Window Settings

Configure in packages/launcher/src-tauri/tauri.conf.json:

  • Size: 600x400 pixels
  • Frameless and transparent
  • Always on top, skip taskbar
  • Starts hidden

Contributing

  1. Fork the repository
  2. Clone: git clone https://github.com/your-username/keyed-launcher.git
  3. Install dependencies: pnpm install
  4. Create feature branch: git checkout -b feature/name
  5. Make changes and test
  6. Commit and push
  7. Open Pull Request

Code style: ESLint + Prettier (TypeScript), cargo fmt + clippy (Rust)

License

AGPL-3.0 License - see LICENSE file for details.

About

Like Raycast except better

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages