hopto
Keyboard launcher for your apps and links, on macOS and Windows. One shortcut, type, Enter.
The Problem
Spotlight mixes apps, files, mail and web results in one list. Bookmarks live inside one browser and open with the mouse. And the launchers that do better keep your list in a format you cannot read, move or back up on your own.
The Solution
Press ⌘⇧Space for your apps or ⌘⌥Space for your links (Ctrl+Shift+Space and Ctrl+Alt+Space on Windows), type a few letters, press Enter. Your whole library is one library.toml file that you can edit by hand and keep in git, and hopto never overwrites it when it cannot read it.
Why hopto?
hopto does one job, getting you to an app or a page in two keys, and it keeps your data where you can see it.
| The usual way | hopto | |
|---|---|---|
| 🔀 | One list mixes apps, files, mail and the web | Apps on one shortcut, links on another |
| 🔗 | Bookmarks inside one browser, opened with the mouse | Links open from any app; ⌘↩ sends one to a second browser |
| 📄 | Settings in a database you cannot read | One TOML file you can edit, back up and keep in git |
| 🐢 | Typing half an address to find a page you rarely open | Search by name, host, keywords and description |
| 🔒 | An account, a sync service, a subscription | Free, open source, nothing leaves your computer but icon downloads |
Features
Two Shortcuts, One Panel
One shortcut for apps, one for links: ⌘⇧Space and ⌘⌥Space on macOS, Ctrl+Shift+Space and Ctrl+Alt+Space on Windows. The same shortcut again hides the panel; the other one switches tab. Both can be changed in the file.
One Search for Both
Typing searches apps and links together, by name, host, keywords and description, ignoring accents and case.
Apps Found for You
On macOS, everything in /Applications and ~/Applications, the apps of /System/Applications as you type, and the web apps installed from Microsoft Edge. On Windows, the programs of the Start Menu, with their icons.
Links With Categories
A chip for each category, a favourites chip, and the links you open most at the top of the list.
Add by Typing
Type an address that is not there and press Enter: the editor fills in the page's name, description and icon, and ⌘1 to ⌘9 picks the category.
A File You Own
library.toml is read again every time the panel opens, written atomically, and never overwritten when it cannot be parsed.
Icons That Stay
Fetched once from the site or a selfh.st hint and kept as files, through a client that allows only https and refuses private addresses.
Menu Bar and Tray
Open, Help, Edit library.toml, Open at login and Quit, in the menu bar on macOS and in the tray on Windows, for when you need hopto without a shortcut.
Light, Dark, English, Spanish
Follows the theme and the language of the system, or the settings. No Dock icon, no taskbar button and no window until you call it.
How It Works
A Go program with a Wails window. The panel is a small web page, in a WKWebView on macOS and in WebView2 on Windows; the library, the app scans, the icons and everything native are Go.
On macOS the shortcuts are Carbon hotkeys: global, with no Accessibility permission. hopto runs as an accessory app, so it has no Dock icon and no place in ⌘⇥, and the panel returns to the display it was last on, in every Space. On Windows the shortcuts and the tray icon are plain Win32 calls from Go, with no C code. The page only ever sends Go an id; Go looks up the app or the URL and opens it the way a double click would.
Quick Start
An installer for each system: a disk image for any Mac from macOS 12, Apple silicon and Intel alike, and an MSI for Windows 10 and 11, on x64 or on Arm.
macOS
- Download
hopto-<version>-macos-universal.dmgwith the button above, or from the latest release. - Open it and drag hopto to Applications.
- Open hopto from Applications. It is signed and notarised, so macOS asks once whether to open it and no longer refuses it.
- Press ⌘⇧Space. The welcome panel lists both shortcuts and whether each one is ready.
Windows
- Download
hopto-<version>-windows-amd64.msiwith the button above, or thearm64one from the table below on a Snapdragon machine. - Open it. It installs for your user, without asking for an administrator, adds hopto to the Start Menu and starts it.
- The installer is not signed yet, so SmartScreen warns the first time: More info, then Run anyway. Signing is on its way; see the code signing policy.
- Press Ctrl+Shift+Space. The welcome panel lists both shortcuts and whether each one is ready.
Prefer not to install anything? The zip beside each installer holds the exe and the licence: unzip it anywhere and run it. WebView2 comes with Windows 11 and with an up-to-date Windows 10; hopto asks to download it when it is missing.
Downloads
| System | File | Checksum |
|---|---|---|
| macOS 12 or later, Apple silicon and Intel | hopto-v0.4.0-macos-universal.dmg | .sha256 |
| Windows 10 or 11, x64 (most PCs) | hopto-v0.4.0-windows-amd64.msi | .sha256 |
| Windows on Arm (Snapdragon) | hopto-v0.4.0-windows-arm64.msi | .sha256 |
| Windows 10 or 11, x64, without installing | hopto-v0.4.0-windows-amd64.zip | .sha256 |
| Windows on Arm, without installing | hopto-v0.4.0-windows-arm64.zip | .sha256 |
Earlier versions are on the releases page. To update, install the new version over the old one; your library stays where it was.
Build from source
Go 1.27, Node 22 and the Xcode Command Line Tools. The Windows exe cross-compiles from the Mac with make build-windows.
Keyboard
Everything works from the keyboard. Press ? in the panel for the full list. On Windows read Ctrl for ⌘ and Alt for ⌥: the two shortcuts are Ctrl+Shift+Space and Ctrl+Alt+Space.
| Keys | Action |
|---|---|
⌘⇧Space | Show your apps; on that tab, hide the panel |
⌘⌥Space | Show your links; on that tab, hide the panel |
↩ | Open the app or the link |
⌘↩ | Open a link in your second browser |
⌘C | Copy the URL or the path |
⌘F | Add to favourites, or remove |
⌘N | Add a link, or an app on the apps tab |
⌘E | Edit the selected item |
⌘⌫ | Delete a link, or hide a found app (asks first) |
? | Show every shortcut |
Requirements
A Mac or a Windows PC. That is all.
| Requirement | Detail |
|---|---|
| macOS | 12 or later, Apple silicon and Intel: one universal app |
| Windows | 10 or 11, x64 or Arm, with WebView2, which comes with Windows 11 and an up-to-date Windows 10 |
| Network | Only to fetch link icons and to read a page you add |
| Build from source | Go 1.27, Node 22, Wails CLI v2.16, Xcode Command Line Tools |
Built With
A small stack, with every native piece written out in the open and documented.
- Go 1.27: the library, the scans, the icons and the HTTP client
- Wails v2: the window and the bridge between Go and the page
- Carbon and Cocoa through cgo, Win32 from Go: global shortcuts, the accessory app, Spaces and round corners on macOS; shortcuts and the tray on Windows
- Plain JavaScript: the panel, with no framework, bundled by Vite
- Playwright WebKit: browser tests of the panel on every push, next to the Go and Node tests
- TOML: one readable file for the whole library
Your apps and links, two keys away
hopto is free and open source: one installer for any Mac from macOS 12, one for Windows 10 and 11.