Dash is a fast, predictable keyboard launcher for Windows. Your apps, files, folders and websites are a few letters away, and the same thing opens every time.
Dash is a fast, predictable keyboard launcher for Windows.
Your apps, files, folders and websites are a few letters away, and the same thing opens every time.
Alt+Space (configure in settings).gh can open GitHub and mail your inbox.{query} in a website’s address and gh dash searches it, while gh on its own still opens the site.12*8, 200+15% or sqrt(2) where you type; Enter copies the answer.Ctrl+V in Dash, drop a file, shortcut or link on it, or turn on “Add to Dash” in File Explorer’s right-click menu, to make it a command. Type something that matches nothing and Ctrl+N adds it, with what you typed already filled in.Dash came out of using launchers that index everything on the machine. They lagged while typing, and being non-deterministic can mean searching for the correct result in a list. With Dash you only get what you expect.
Dash does less on purpose:
code finds Visual Studio Code). The same letters always narrow to the
same commands, an exact name or alias always comes first.If you want a launcher that acts a search tool across all your files, there are many good options (flow launcher, everything, powertoys). Dash is for those who want a simple deterministic launcher containing only the commands you set.
Type a few letters and the name completes inline.
Give a website command an address with {query} in it and its name becomes a
keyword: the name on its own opens the site, a space searches it.
Press Ctrl+Enter on a result to edit it in place: name, description, type, target, browser, aliases and icon. A group is edited the same way, except its targets are other commands, and it opens them in the order they are listed.
| Key | What it does |
|---|---|
Alt+Space |
Open Dash from anywhere |
Type, then Enter |
Open the selected command |
↑ ↓ |
Move through the results; the search box completes to the selected one |
Tab |
Fill in the selected command’s name or alias; a search keyword also gets its space, ready for the search text |
Ctrl+Enter |
Edit the selected command |
Shift+Enter |
Open a new copy, even if the app is already open |
Ctrl+Shift+Enter |
Run the selected app as administrator |
Alt+Enter |
Open the folder that holds the selected command |
Right-click, or the Menu key |
More actions for the selected result |
Ctrl+N |
Add a new command, starting from what you typed |
Ctrl+, |
Open Settings |
Esc |
Close Dash |
The hotkey and the three Ctrl shortcuts are configurable under Settings.
The keyboard icon at the bottom right of the launcher lists every key: hover
over it, or click it.
Ctrl+N to add what you typed as
a new command, already filled in; Enter does nothing, so a mistyped name
never opens the editor by accident. Turn on “Web search unknown commands”
in Settings to also offer a web search for it, first in the list.~, and
custom icons go with them.With winget (once the package is listed in the winget catalog):
winget install --id CalemYoung.Dash -e
Or by hand:
DashSetup-<version>.exe from the
Releases page.Alt+Space to open Dash.Until you have added a command, opening Dash shows two rows: “Find recommended
commands”, and the Settings command beneath it. The scan offers your installed
programs and Store apps, common Windows tools, the Windows Settings pages
people actually open, the folders in Explorer’s Quick Access and the bookmarks
bar of any browser it finds. It also offers the websites most people want,
Google, YouTube, Gmail, Maps, Wikipedia and the rest, with their search links
already filled in, so g opens Google and g dash searches it.
They arrive on a tab each, for apps and tools, folders, websites and Windows
Settings, with a filter box, so you can go through them a kind at a time. The
pencil on a row opens it in the editor first, to rename it or change its icon
before it is added. Programs you have opened recently start ticked, and each
comes with short aliases you can edit, so word finds Microsoft Word and vsc
finds Visual Studio Code. Nothing is added until you choose it, and you can
run the scan again any time from Settings.
To tidy up later, open Settings and choose “Manage Commands…” to see, edit or delete every command at once.
Settings opens from the launcher: press Ctrl+,, or type “settings”. The
system tray menu can also open Dash and Settings, and holds the app itself:
the install, config and log folders, the update check, About and Quit. Dash stores your configuration in
%APPDATA%\Dash, so upgrades keep your settings and commands.
Starting Dash from the Start Menu or a shortcut opens the search bar, and if
Dash is already running it brings up the existing copy rather than a second
one. Only the start-at-sign-in entry starts Dash silently in the tray; it
passes --startup to do so.
Dash checks GitHub for a new release once each time it starts and shows a single tray notification if there is one. Nothing is installed until you choose “Install and Restart”, at which point the installer is downloaded, verified against the release’s SHA-256 checksum, and run. Turn off “Check updates at startup” in Settings to stop the check, or use “Check for Updates…” in the tray menu at any time.
If Dash can’t use its hotkey because another app already has it, a tray notification says so; choose a different key under Settings.
Dash has no telemetry. Your commands, settings and usage counts stay in
%APPDATA%\Dash. It goes online only to check for updates, to fetch website
icons, and when you open a website or search the web. Both the update check
and icon downloads can be turned off in Settings. PRIVACY.md
lists every request.
Dash keeps a log at %APPDATA%\Dash\logs\dash.log; “Open Log Folder” in
the tray menu takes you there. Please attach it when you
report a bug. If a
settings or commands file is damaged, Dash starts anyway, keeps the damaged
file beside the original with .bad on the end, and tells you.
What changed in each release: see CHANGELOG.md.
Dash requires Windows and Python 3.11 or later. To run it from source:
py -3.11 -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -r requirements-dev.txt
python dash.py
Run the tests with python -m pytest. See CONTRIBUTING.md
for more.