An open API service indexing awesome lists of open source software.

https://github.com/kunkka19xx/look

An open-source, community-driven launcher for macOS. A lightweight alternative to Spotlight and Raycast. I'm working on this project with AI agents.
https://github.com/kunkka19xx/look

apple launcher macos opensource rofi-macos rust spotlight swift

Last synced: about 1 month ago
JSON representation

An open-source, community-driven launcher for macOS. A lightweight alternative to Spotlight and Raycast. I'm working on this project with AI agents.

Awesome Lists containing this project

README

          

# look

look icon

A keyboard-first, local-first launcher for macOS, Windows, and Linux. Open apps, files, folders, clipboard history, and quick commands without leaving the keyboard.

[macOS](#macos) ยท [Windows](#windows) ยท [Linux](#linux-under-development)
๐Ÿ“˜ [Docs](https://noah-code.com/docs/look) ยท ๐Ÿ“– [User guide](docs/user-guide.md) ยท ๐ŸŽฌ [Demo video](https://www.youtube.com/watch?v=4Twb4We3PIs)

https://github.com/user-attachments/assets/176a929d-edbe-46a0-a0c5-229eb9b31c1c

## Install

### macOS

```bash
brew tap kunkka19xx/tap
brew install --cask look
```

Then bind `Cmd+Space` to Look (disable Spotlight's shortcut in `System Settings > Keyboard > Keyboard Shortcuts > Spotlight`). Release builds are signed and notarized โ€” no Gatekeeper bypass needed.

### Linux

**Arch Linux (AUR):**

```bash
yay -S look-bin
# or
paru -S look-bin
```

Or without an AUR helper:

```bash
git clone https://aur.archlinux.org/look-bin.git
cd look-bin
makepkg -si
```

**Ubuntu/Debian (.deb)** โ€” download from [Releases](https://github.com/kunkka19xx/look/releases):

```bash
sudo dpkg -i Look_*.deb
```

**Any distro (AppImage):**

```bash
chmod +x Look_*.AppImage
./Look_*.AppImage
```

After installing, launch with `lookapp` from a terminal, or search "Look" in your app launcher. Press `Alt+Space` to toggle the window at any time. Look autostarts on login by default (on full DEs like GNOME/KDE).

Uninstall:

```bash
# Arch
yay -R look-bin

# Ubuntu/Debian
sudo dpkg -r lookapp

# AppImage โ€” just delete the file
rm Look_*.AppImage
```

**NixOS (flake):**

```bash
# Run directly
nix run github:kunkka19xx/look?dir=apps/linows

# Install to profile
nix profile install github:kunkka19xx/look?dir=apps/linows
```

Declarative (NixOS):

```nix
# flake.nix โ€” add input and cachix config
{
nixConfig = {
extra-substituters = [ "https://look.cachix.org" ];
extra-trusted-public-keys = [ "look.cachix.org-1:8elPCeSVBzlDZXqIRKBK9GyLIK/Hoe1xiWZF0ir7uX4=" ];
};

inputs.look.url = "github:kunkka19xx/look?dir=apps/linows";
# ... your other inputs
}

# configuration.nix โ€” add package
{ pkgs, inputs, ... }:
{
environment.systemPackages = [
inputs.look.packages.${pkgs.system}.default
];
}
```

Pre-built binaries are served via [Cachix](https://look.cachix.org). On first rebuild, nix will ask to trust the cache โ€” say yes. No source compilation needed.

Update to latest release:

```bash
nix flake update look --flake /path/to/your/flake
sudo nixos-rebuild switch --flake /path/to/your/flake#hostname
```

> **Note:** On GNOME desktops, log out and log back in after the first install so the GNOME Shell extension (used for window focusing and hotkey on Wayland) can load.

**Window manager users (i3, sway, Hyprland, etc.):** Autostart via `.desktop` files only works on full DEs (GNOME, KDE). On standalone WMs, add Look to your config manually. The `Alt+Space` hotkey and window rules (float, no border) are registered automatically at runtime โ€” you only need the autostart line:

```bash
# i3: ~/.config/i3/config
exec --no-startup-id lookapp
# (Alt+Space works via X11 global shortcut plugin)

# sway: ~/.config/sway/config
exec lookapp
# (Alt+Space, float, and border rules are injected automatically via swaymsg)

# Hyprland: ~/.config/hypr/hyprland.conf
exec-once = lookapp
# (Alt+Space, float, and border rules are injected automatically via hyprctl)
```

> **Hyprland 0.55+ only.** Focus-existing-window uses the `wlr-foreign-toplevel-management` protocol. Older Hyprland versions relied on the legacy `hyprctl dispatch focuswindow` syntax which was deprecated in 0.55; selecting an already-running app on <0.55 may launch a second instance instead of focusing. Upgrade to 0.55+ for correct behavior.

To build from source, see [apps/linows/BUILDING.md](apps/linows/BUILDING.md).

### Windows

Install the latest release with one PowerShell line (no admin required):

```powershell
iex "& { $(irm https://raw.githubusercontent.com/kunkka19xx/look/main/scripts/windows/install-look.ps1) }"
```

The script auto-detects x64 vs ARM64, pulls the matching release zip, verifies its SHA256 against the published manifest, extracts to `%LOCALAPPDATA%\Programs\Look`, and creates Start menu + desktop shortcuts. The release bundle is self-contained (`true`) so no separate runtime install is needed.

Uninstall:

```powershell
iex "& { $(irm https://raw.githubusercontent.com/kunkka19xx/look/main/scripts/windows/install-look.ps1) } -Uninstall"
```

SmartScreen may warn on first run while reputation builds โ€” click "More info โ†’ Run anyway". The launcher's global hotkey (`Alt+Space`) is configurable in Settings โ†’ Appearance.

Other install options (curl, pin version, update/uninstall)

**macOS โ€” Homebrew update / uninstall:**

```bash
# update
brew upgrade --cask kunkka19xx/tap/look

# uninstall
brew uninstall --cask look
```

**macOS โ€” curl installer:**

```bash
curl -fsSL https://raw.githubusercontent.com/kunkka19xx/look/main/scripts/install-look.sh | bash
```

Pin a specific version or repo fork:

```bash
curl -fsSL https://raw.githubusercontent.com/kunkka19xx/look/main/scripts/install-look.sh | bash -s -- --version --repo kunkka19xx/look
```

Direct URL:

```bash
curl -fsSL https://raw.githubusercontent.com/kunkka19xx/look/main/scripts/install-look.sh | bash -s -- --url "https://github.com/kunkka19xx/look/releases/download/v/Look--macOS.zip"
```

CLI naming note: macOS ships `/usr/bin/look`, so terminal command examples use `lookapp`.

If Look is fully quit and Spotlight is still unbound, relaunch from Launchpad, or via:

```bash
open "/Applications/Look.app"
```

## What you can do

- **Find and open anything** โ€” apps, files, folders indexed locally. Type, Enter, done.
- **Calc inline** โ€” type `2^10`, `4!`, `200*15%`, `sqrt(2)`, `2*pi`. No command mode needed.
- **Kill a process by port** โ€” `Cmd+/` then `kill :3000`. Confirms before killing.
- **Search clipboard history** โ€” `c"meeting` finds the snippet you copied an hour ago.
- **Translate or look up a word** โ€” `t"hello` for quick translation, `tw"word` for a definition panel.
- **Regex, path, and kind-scoped search** โ€” `r"^Visual.*`, `git/project/readme`, `a"safari`, `f"note`, `d"documents`.

All local. No account. No telemetry. No plugin marketplace to manage.

## Why look

- **Fast** โ€” typical search under 1 ms on a 2000-item index; empty-query browse under 30 ยตs.
- **Small** โ€” single native macOS app, no Electron, no background daemons.
- **Local-first** โ€” candidates indexed in a local SQLite file; the only network calls are explicit (`t"`, `tw"`, `Cmd+Enter` web search).
- **Zero-config by default** โ€” presets cover common apps (`alias_note`, `alias_code`, `alias_term`, `alias_chat`, `alias_music`, `alias_brow`). Configure more via `~/.look.config` when you want to.
- **Keyboard-first** โ€” every action has a key; mouse never required.

If you want a launcher that stays out of your way and does exactly what you asked, that's the pitch.

## Essential shortcuts

| Action | macOS | Windows | Linux |
| --------------------------------------------- | ---------------- | ------------------- | ---------------- |
| Toggle launcher | `Cmd+Space` | `Alt+Space` | `Alt+Space` |
| Open / run | `Enter` | `Enter` | `Enter` |
| Web search | `Cmd+Enter` | `Ctrl+Enter` | `Ctrl+Enter` |
| Reveal in file manager | `Cmd+F` (Finder) | `Ctrl+F` (Explorer) | `Ctrl+F` (Files) |
| Command mode (`calc`, `shell`, `kill`, `sys`) | `Cmd+/` | `Ctrl+/` | `Ctrl+/` |
| Settings | `Cmd+Shift+,` | `Ctrl+Shift+,` | `Ctrl+Shift+,` |
| Back / hide | `Escape` | `Escape` | `Escape` |

(Throughout the rest of the docs, `Cmd+X` on macOS maps to `Ctrl+X` on Windows and Linux; the launcher-toggle hotkey uses `Alt+Space` on Windows/Linux instead of `Cmd+Space` because `Win+Space` / `Super+Space` are typically reserved by the OS or desktop environment.)

Full reference: [docs/user-guide.md](docs/user-guide.md).

## Themes

Built-in: Catppuccin, Tokyo Night, Rose Pine, Gruvbox, Dracula, Kanagawa, plus Custom. Switch in `Settings > Appearance`.












## Documentation

- ๐Ÿ“˜ [Docs site](https://noah-code.com/docs/look) โ€” hosted, searchable user guide and reference
- [User guide (in-repo)](docs/user-guide.md) โ€” full feature reference, shortcuts, configuration, permissions, troubleshooting
- [Architecture](docs/architecture.md) โ€” how the Swift app + Rust core fit together
- [Features](docs/features.md) โ€” what's shipped, what's planned
- [Contributing](CONTRIBUTING.md) โ€” how to contribute
- [Development](DEVELOPMENT.md) โ€” building locally, repo layout, release process

## Scope

In scope:

- apps, files, folders, clipboard, command mode, translation, regex/path search
- local-first behavior, zero telemetry
- near-term plugin/extension exploration

Out of scope for v1:

- online-first behavior
- semantic/vector search
- full content indexing (names and metadata only)

### Platform direction

- **macOS** โ€” shipped and stable (SwiftUI, native). This is the design source of truth.
- **Windows + Linux** โ€” a new shared Tauri v2 app (`apps/linows/`) is under active development. It targets both platforms with a single codebase (Rust backend, vanilla HTML/CSS/JS frontend). Current status:
- Core search, preview, multi-pick, clipboard history, translation โ€” done
- Command mode (calc, pomo, kill, shell, sys) โ€” done
- Settings screen (appearance, themes, blur, font autocomplete) โ€” done
- Platform-aware blur (Mica/Acrylic on Windows, CSS backdrop-filter on Linux)
- Dynamic window scaling based on monitor resolution
- 6 built-in themes + Custom
- **Windows (WinUI3)** โ€” the current `apps/windows/` WinUI3/C# app is in maintenance mode (bug fixes only). It will be archived once the Tauri app reaches feature parity.

## License

MIT โ€” see [LICENSE](LICENSE).

## Contributors

Thanks to everyone who has contributed โ€” see the [contributor graph](https://github.com/kunkka19xx/look/graphs/contributors).

Contribution flow: branch from `dev`, open PRs into `dev`. See [CONTRIBUTING.md](CONTRIBUTING.md) and [DEVELOPMENT.md](DEVELOPMENT.md).