The obvious way to add file search to an app launcher is a second hotkey, or a toggle buried in a settings screen. Both work. Both also add a decision to make before you can start typing, and the whole point of a launcher is to remove decisions, not add them.
Space was already free
So HyperKey uses the field you are already typing in. Open the panel, and it starts in app search. Press Space on an empty query, and it switches straight into file search - Backspace on an empty query switches back. No modal, no second launch, no menu.
- A visual mode indicator always shows which mode you are in, so the switch is never ambiguous.
- The interaction is discoverable the same way Alfred and Spotlight users already expect it to work.
- It costs zero extra hotkeys to remember, because it reuses the one you already pressed.
Constraints are a feature
A single search field forces a kind of discipline: every mode has to earn its place in the same tiny surface. That constraint is what keeps the panel feeling like one coherent tool instead of two apps stapled together.
Designing a launcher that needs zero permissions
Most Mac launchers ask for Accessibility access on first launch. HyperKey never does - and that constraint shaped the whole architecture.
The 64KB pipe bug that made file search feel broken
File search worked perfectly in testing and then quietly hung on real machines. The cause was a subprocess pipe filling up faster than anyone expected.
Why we used Spotlight instead of building our own file index
Building a custom file index sounds like the "real" way to do fast file search. It is also a second copy of your filesystem to keep correct, forever.