Releases: Hormold/launcher
Releases · Hormold/launcher
Release list
v0.1.2 — Fix launch freeze + Docker findable
Fixes
- No more freeze when launching heavy apps.
NSWorkspace.open(url)was synchronous — Docker/Xcode froze the launcher window for 1-3s while LaunchServices spun up. Now uses asyncopenApplication(...)— window dismisses instantly. - Docker (and other menubar apps) now searchable. Previously any app with
LSUIElement=1was filtered as a background helper. New heuristic: keepLSUIElementapps that live in/Applicationsor~/Applicationsand have aCFBundleIcon*— covers user-installed menubar apps (Docker, 1Password, Tailscale) while still hiding pure system agents under/System.
Numbers
- Index: 180 → 198 apps on a typical install
- Scan: 27ms (budget 100ms)
- Search avg: 0.21ms (budget 0.3ms)
- Self-test: 13/13
Install
Unzip and drop Launcher.app into /Applications. Click the dock icon to use.
v0.1.1 — 2.5x faster search
Performance and reliability pass.
What changed
Search 2.5x faster
- Pre-computed UTF-8 byte arrays at index time, not per-query
- Replaced grapheme-aware String ops with
memcmp-based byte loops - Added first-byte rejection as cheap pathological-case guard
- Bench: 0.460 → 0.182 ms / query (180 apps)
Reliability
- FSEvents watcher — new apps appear without restart
CFBundleDisplayNamefallback — finds apps whose displayed name differs from filename- Stale entries auto-removed when index points to deleted .app
- Filter background services (
LSUIElement,LSBackgroundOnly) so the index isn't polluted withloginwindowand friends - Finder explicitly indexed (lives in
/System/Library/CoreServices/, not in scan roots) - Setapp +
/System/Library/CoreServices/Applications/added to scan roots - Symlinks resolved for proper dedup
- Multi-screen support — window centers on screen with mouse cursor
- Empty-state UI ("No Results")
- Esc reliably hides via
NSApp.hide - 0 leaks (verified with
leaksandvmmap)
Diagnostic CLI
Launcher --self-test— 13 scenario testsLauncher --bench— scan + search timingLauncher --integrity— verify all indexed paths existLauncher --probe \"<query>\"— show variants and top 10 matches
Install
- Download `Launcher-v0.1.1.zip`
- Unzip, drag `Launcher.app` to `/Applications`
- First launch: right-click → Open (ad-hoc signed)
- Right-click dock icon → Options → Keep in Dock
Verify
```
shasum -a 256 Launcher-v0.1.1.zip
3a0ac11e2f088c097e3b7213ef83a72bb83fb67fa4e0608b057c366eb256682f
```
Requirements
- macOS 14 (Sonoma) or later
- Universal binary (Apple Silicon + Intel)
v0.1.0 — Initial Release
First release of Launcher — a minimal, fast macOS app launcher.
Install
- Download
Launcher-v0.1.0.zip - Unzip, drag
Launcher.appto/Applications - First launch: right-click → Open (ad-hoc signed, Gatekeeper needs the override once)
- Right-click dock icon → Options → Keep in Dock
Features
- Cold start < 30 ms, search < 1 ms per query
- Fuzzy matching (
ntn→ Notion,fndr→ Finder) - Keyboard layout swap (type
тщешщтon Russian layout → finds Notion) - Auto-reindex via FSEvents (new apps appear without relaunch)
- Recents boost
- Indexes
/Applications,~/Applications,/System/Applications, Utilities, Setapp, Finder
Requirements
- macOS 14 (Sonoma) or later
- Apple Silicon or Intel (universal binary)
Verify
shasum -a 256 Launcher-v0.1.0.zip
6982aad9551954b7630b475ab3a42533124b07310e9791a08bd27244e8c399da
See README for usage and CLI diagnostic flags.