An 'alt+space' launcher for Windows, built with Electron
JavaScript C++ Objective-C Objective-C++ Python Batchfile Shell
Clone or download
dannya Implement sophisticated draggable window functionality (#270)
* * Mark up keyboard shortcut in README using <kbd>

* * Refactor preferences UI with a new "Window" page.

* Implement sophisticated draggable window functionality, with ability to specify whether or not to remember the dragged window position.

* New Window preferences UI also allows us to always open the window at a specified screen position (or to ignore this and always open in the center of the screen), or on a specified screen (for multi-screen environments).

* * Run eslint

* * Tweaks after testing on actual multi-monitor computer.

* * Force a keyboard focus after window move (needed for MacOS)
* Implement review feedback

* * Force a keyboard focus after window move (needed for MacOS)
* Implement review feedback

* * Run eslint

* * Window position saving was not working on MacOS, as there was an additional event fired on window hide, overwriting the expected window position. Introduce a lock variable that is reset after the hide has completed to avoid this issue.
Latest commit dcd3ba0 Jun 11, 2018


Build status Build Status Join the chat at

An alt+space launcher for Windows, built with Electron.

I always dreamed of an alternative to Alfred on Windows, that is made with JavaScript. so, I made it.


It's a launcher with strict syntax (like terminal programs), it's not targeting to interpret natural language.
I believe the strict syntax can provide more powerful and fast response than to interpret natural language.


  • Searching Executable files very fast with Fuzzy Matching
  • Plugins in Pure JavaScript


Go to Releases, then you can download prebuilt binaries.


Run and press alt+space anywhere.



How to make Plugins

See Plugin Documentation

Install/Build from Source

# Clone this repo
git clone
# Go into the repo
cd hain
# Install dependencies
npm install

Run from Source

npm run dev

Build for Windows

npm run build

Build for Linux

npm run build-debian

Build for macOS

gulp build-darwin




The name "Hain" is named by Hyunseop Lee, it means "a Servant" in Korean.
The app icon & gif are designed by Yunsung Lee.
It uses for searching packages for now.