Spotlight-like overlay interface for atuin shell history search.
Atuin Bar provides a macOS Spotlight-style keyboard shortcut and overlay window for quickly searching your shell history using atuin. Press a global hotkey, type to search, and select commands to copy to clipboard.
- Global keyboard shortcut to show/hide search overlay (configurable)
- Spotlight-like UI with center-screen overlay
- Real-time search through atuin history
- Keyboard navigation (arrow keys, Enter, Escape)
- Automatic clipboard copy on selection
The app can be configured in two ways:
Click on the Atuin-Bar menu and select Settings to open a graphical configuration window. This allows you to:
- Change the global keyboard shortcut (requires restart)
- Toggle between dark and light themes
- Adjust the maximum number of search results displayed
- Customize the window width
Changes to theme, max results, and window width take effect immediately. Shortcut changes require an app restart.
The app uses a configuration file at ~/.config/atuin-bar/config.toml. On first run, a default config file is created automatically. You can also edit this file directly:
# Global shortcut to toggle the window
# Examples: "CommandOrControl+Shift+Space", "Alt+Space", "Super+H"
shortcut = "CommandOrControl+Shift+Space"
# Theme: "dark" or "light" (default: "dark")
theme = "dark"
# Maximum number of results to display (default: 20)
max_results = 20
# Window width in pixels (default: 700)
window_width = 700Note: The Settings menu and config file are synchronized - changes made in either location will be reflected in both.
Rust:
- Tauri 2.x
- serde & serde_json for serialization
- tauri-plugin-global-shortcut for hotkey support
- tauri-plugin-opener for system integration
Frontend:
- TypeScript
- Vite for bundling
- Tauri API libraries
The release profile is optimized for small binary size:
opt-level = "z"- Maximum size optimizationlto = true- Link-time optimization enabledcodegen-units = 1- Single codegen unit for better optimizationpanic = "abort"- Smaller panic handlerstrip = true- Strip debug symbols
Development:
npm install
npm run tauri devRelease:
npm run tauri buildThe release build will create optimized binaries in src-tauri/target/release/bundle/.
- Primary: macOS (10.13+)
- Secondary: Linux (optional, requires GTK3 development libraries)
The app uses macos-private-api feature for better overlay window behavior on macOS. This enables proper window level management for the overlay effect.
- Rust (via rustup)
- Node.js & npm
- On Linux: GTK3 development libraries (libgtk-3-dev, libwebkit2gtk-4.0-dev)
MIT OR Apache-2.0
