Skip to content

Repository files navigation

runwa

A cross-platform (Win & Mac) command palette launcher inspired by PowerToys Command Palette. Invoke with a global hotkey, fuzzy-search anything, extend via pluggable modules.

Window Walker

More screenshots

Settings

Features

Shipped:

  • Window Switcher — list and focus any open window. Rust napi-rs addon over Win32 on Windows, CoreGraphics/AX on macOS, osascript fallback. Uses the window's own icon (WM_GETICON / class) before falling back to the exe icon — correct for UWP/PWA/shared-exe apps. Double-press of the hotkey jumps straight to the previous window (Alt+Tab-style, works across windows of the same app); Ctrl/Cmd+D closes the highlighted window without leaving the list.
  • Groq Transcription — push-to-talk or toggle voice-to-text via Groq Whisper. Direct-launch hotkey captures mic audio, transcribes, and drops the result on the clipboard (optional auto-paste).
  • Keyboard Remap — low-level, system-wide remap layer. CapsLock → Ctrl (tap = Escape), Space → modifier layer (tap = space). YAML rules file, cross-platform (Windows hook, macOS CGEventTap, Linux uinput). Covers the AutoHotkey / Karabiner-Elements basics.
  • Auto Dark Mode — switch the Windows or macOS system appearance manually or on a two-time local schedule. Includes Themes on Schedule and Toggle Theme commands.
  • Desktop Hint — shared, focusless status popup with native-inspired light and dark styling, used by Hotstrings, transcription, and Auto Dark Mode.
  • User Commands — add named shell actions under Settings → Other and run them from Command Palette. Supports scripts, environment expansion, pipelines, and launching apps with arguments; includes removable platform-specific examples on first use.
  • Settings UI — per-module toggles, config fields, hotkey rebinding.
  • Hotkey system — per-module direct-launch hotkeys; each module's palette is reachable via its own configurable chord.
  • Module registry — prefix routing, request cancellation, firewalled providers.

User commands

Open Settings → Other → User Commands, give the command a display name, and enter an action using your operating system's shell syntax. Saved entries appear in the existing Command Palette immediately.

# macOS
open -a "Visual Studio Code" --args --new-window

# Windows
"C:\Program Files\My App\app.exe" --profile work

# Linux
/path/to/script.sh --profile work

Actions run detached from the user's home folder through /bin/sh on macOS / Linux or cmd.exe on Windows. Their output is not captured. They inherit runwa's permissions, including elevation when Run as administrator is enabled, so only save commands you trust.

Tech stack

Electron 41 · React 19 · TypeScript (strict) · Vite · Tailwind CSS v4 · Zustand · Fuse.js · Rust (napi-rs native addon)

Getting started

npm install
npm run build:native   # compile the Rust native addon
npm run dev

Requires a stable Rust toolchain for the native/ crate.

Building

npm run dist:win    # Windows installer
npm run dist:mac    # macOS dmg
npm run dist:linux  # Linux AppImage

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages