A dock and a launcher for Windows.
Replaces the taskbar. One ~1.5 MB executable.
Wisp hides the taskbar and puts a dock in its place. Press Alt+Space and the dock grows into a launcher.
It is written in Rust with Win32 and Direct2D. It needs no .NET, web view or PowerToys.
- Download
wisp-vX-x86_64-windows.zipfrom the latest release. - Extract it to
%LOCALAPPDATA%\Programs\Wisp. - Run
wisp.exe. The settings app opens and sets your shortcut and Start with Windows.
Keep wisp-settings.exe beside wisp.exe for Settings and updates. To update, select Update on the About page in Settings.
Once available, you can also install with winget:
winget install SumirSeth.WispUpdate that install with winget upgrade SumirSeth.Wisp.
Note
Enable Use Win key in Settings to open Wisp by tapping either Windows key alone, instead of your shortcut. Windows shortcuts and Win+click still work. With an elevated app in front, Windows may block the hook or its mask key (UIPI), so Start can open as usual.
PowerToys Run also uses Alt+Space. Turn it off, or change Wisp's shortcut.
Note
Wisp is not code-signed. If SmartScreen warns you, select More info → Run anyway.
The dock appears when the pointer touches the bottom edge of a screen, and hides when you move away. To keep it on screen, turn on Keep the dock visible in Settings. Maximized windows then stop above it.
| Do this | To |
|---|---|
| Click an app | Switch to it |
| Click the app in front | Minimize it |
| Drag the launcher, a gap beside the apps, the tray chevron, status, an own status icon or clock | Move that whole section; the order is saved |
| Drag an app sideways | Rearrange it; drop among pins to pin it, or among running apps to unpin it |
| Middle-click an app | Open a new window of it |
| Right-click an app | Pin or unpin it, or close its windows |
| Hover an app with several windows | See its windows. Click one to switch to it, middle-click to close it. |
| Click a tray icon | Use it as you would on the taskbar |
| Click ⌄ | Show the hidden tray icons |
| Right-click ⌄ | Show the taskbar, or open taskbar settings |
| Click the status group or an own status icon | Open Now |
| Hover the status group or an own status icon | See details for its items |
| Scroll over the status group containing sound, or the sound own icon | Change the volume by 2% a notch |
| Right-click the status group | Open sound settings if grouped, otherwise the first grouped item's settings |
| Right-click an own status icon | Open its Windows settings page |
| Click the clock | Open notifications and the calendar |
| Scroll anywhere else | Switch virtual desktops |
| Shift+scroll | Scroll through the apps |
Choose In group, Own icon or Hidden for each status item in Settings, under Dock, in Status. Three grouped items keep their home cells; two sit side by side; one uses a full-size glyph. Own icons show volume and battery percentages beneath their glyphs. Wi-Fi shows signal strength and Bluetooth marks connected devices; their full details appear in tooltips. Own icons open Now, show their own tooltip and open their Windows settings page on right-click. Scroll sound to change volume. Drag own icons like the clock.
Tray icons keep their usual clicks; drag their chevron or the gap beside them to move the tray block. All app icons stay together when sections move. The section order is saved in dock_order in config.toml.
Right-click an app and choose Pin to dock to keep it before running apps, in pin order. Click a closed pinned app to start it. To clear pins, choose Unpin all apps in Settings.
The dock hides over full-screen apps. Tray icons you pin in Windows show in the dock; the rest are behind ⌄.
If Wisp quits or crashes, the taskbar comes back with every tray icon.
Type to search, then press Enter.
| Type | To |
|---|---|
code |
Find apps, then files. vsc finds Visual Studio Code. |
?invoice |
Find files only |
^vis · term$ · 'note · !edge |
Match the start · the end · exactly · exclude |
sqrt(2) * 10 |
Calculate. Enter copies the result. |
> ipconfig |
Run a command in Command Prompt |
night light ? night light off |
Turn Night Light on or off. The row shows its current state; Settings stays available. |
dark mode ? light mode |
Change both Windows and app color modes. |
minimize ? maximize ? restore ? close window ? always on top |
Control the window you opened the launcher over. Its title appears below the action. |
wifi off · bt · vol 40 · mute |
Change a setting. Tab lists networks, devices or outputs. |
play · pause · next |
Control media |
w code |
Switch to an open window |
lock · sleep · restart · shut down |
Lock or power off. Some ask for a second Enter. |
time tokyo · date |
Copy a time or the date |
dark mode · display · … |
Open that Settings page |
now · sound |
Open live panels for status and audio |
quit |
Quit Wisp |
| Anything else | Search the web |
Apps you opened recently rank higher. With the box empty, the launcher shows your recent apps.
| Key | To |
|---|---|
| Alt+Space | Show or hide the launcher |
| Enter | Open the selected result |
| Tab | Show more actions, such as Run as administrator |
| Ctrl+Shift+Enter | Run as administrator |
| Ctrl+Shift+E | Show in File Explorer |
| Ctrl+Shift+C | Copy the path |
| Esc | Close |
Now shows the time, battery, Wi-Fi, Bluetooth, volume and media. Click Wi-Fi or Bluetooth (or select a row with the arrow keys and press Enter) to open its list. Esc or Backspace on an empty filter returns to Now. Search wifi, wi-fi, network or bluetooth to open a panel directly.
Wi-Fi lists nearby networks, connected first and then by signal, with a lock on secured networks. Select the current network to disconnect, or another to connect. New personal networks ask for a masked password field below the row: Enter connects, Esc cancels. The header switch is the first keyboard focus target in both radio views: press Enter to toggle, Down to enter the list, and Up to return to the header (Tab also cycles controls). It shows the target immediately with "Changing..." until Windows confirms it; a failure restores the actual state and shows an error. If nearby networks are unavailable, Wisp shows the current network and a link to Location settings. Enterprise and unsupported security types use Windows Wi-Fi settings.
Bluetooth lists paired classic and LE devices, connected first, with battery levels where Windows provides them. Supported audio devices connect or disconnect through their audio driver. Other devices say that they open Bluetooth settings; Add device opens the same page. The switch controls Bluetooth power. Radio state refreshes about every two seconds while open, including changes made in Windows quick settings. Wi-Fi scans run on opening, after turning on, and at most every ten seconds while open and on. Refreshes stop when closed or hidden.
Drag a result out of the launcher and drop it anywhere:
- Files and folders into a chat, an email, an upload box or a folder. The original stays where it is.
- Apps onto the desktop or into a folder, to make a shortcut.
- Text, such as a result, the time or a path, into any text box.
- Links and web searches into a browser or a chat.
Press Esc to cancel a drag.
Open Settings from Wisp's tray icon, or edit %APPDATA%\wisp\config.toml. The tray icon also has Rescan apps, Start with Windows and Quit.
| Setting | Default | What it does |
|---|---|---|
hotkey |
"Alt+Space" |
Shows or hides the launcher |
win_key |
false |
Tap either Windows key alone to show or hide Wisp instead of Start. Replaces hotkey while on |
dock |
true |
Shows the dock |
dock_autohide |
true |
Hides the dock until the pointer touches the bottom edge. false keeps it visible. |
dock_search_button |
true |
Shows the search button at the start of the dock. false hides it; the hotkey still opens the launcher. |
window_list |
"multiple" |
"multiple" lists an app's windows when it has more than one; "always" or "off" |
dock_order |
["launcher", "apps", "tray", "status", "sound", "battery", "wifi", "bluetooth", "clock"] |
Sections from left to right; drag sections to change it. |
dock_status_group |
["sound", "battery", "wifi", "bluetooth"] |
Items in the status group, in home-cell order. |
dock_status_icons |
[] |
Items with their own draggable slot; items in neither list are hidden. The group wins if an item is in both lists. |
dock_icon_size |
32 |
App icon size in the dock, 24–40 DIP. The dock's height, spacing and status area scale with it. |
dock_color |
"" |
The color of the dock and the launcher, as "#RRGGBB", or "#RRGGBBAA" where AA sets how strongly it covers the theme's acrylic. Mica and solid show the color at full strength. Text turns light or dark to stay readable, and follows the theme below 40% strength. Empty, or a value that is not a color, uses the theme's colors |
hide_taskbar |
true |
Hides the Windows taskbar while Wisp runs |
position |
"bottom" |
"bottom" grows the launcher from the dock; "center" opens it in the middle |
theme |
"system" |
"system", "dark" or "light" |
backdrop |
"acrylic" |
"acrylic", "mica" or "solid" |
max_results |
8 |
Results visible at once |
show_recent |
true |
Shows recent apps when the box is empty |
file_search |
true |
Searches files in the Windows Search index |
file_search_exclude |
["node_modules", …] |
Folder names file search skips |
search_url |
Web search URL. {query} is replaced by your search. |
Configs from Wisp 0.3 keep the taskbar. To switch, set dock and hide_taskbar to true and position to "bottom".
To add your own panel, put a TOML file in %APPDATA%\wisp\surfaces. See src/surface/now.toml for an example.
Wisp 0.2.0 against PowerToys Run 0.94 on the same PC, median of 30 runs:
| Wisp | PowerToys Run | |
|---|---|---|
| Typing → first results | 24 ms | 200 ms |
| Shortcut → launcher drawn | 15 ms | 30 ms |
| Memory | 20 MB | 302 MB |
| Size on disk | 1.5 MB (0.4.0) | 794 MB |
The dock grows into the launcher in 155 ms. A hidden dock uses almost no CPU. bench/ has the method and full results.
- Tray icons: Wisp creates its own hidden
Shell_TrayWnd, which apps find first. Wisp copies each icon and passes the message on to Explorer. - One window: the dock and the launcher are the same window, so the dock can grow into the launcher.
- Blur: Windows turns off blur for inactive windows. The dock is never active, so it uses an older blur API that stays on.
- Drawing: Direct2D draws in software. At this size it is fast and saves about 30 MB.
- Apps: Wisp reads
shell:AppsFolder, the same list Start uses. - Files: Wisp queries the Windows Search index on a worker thread.
Install Rust and the Windows SDK, then:
git clone https://github.com/SumirSeth/wisp
cd wisp
cargo build --release --workspaceTo try your changes without touching your installed Wisp, run scripts\install-nightly.ps1. It installs Wisp Nightly with its own folder, config and shortcut (Ctrl+Shift+Space).
To contribute, see CONTRIBUTING.md.
MIT © Sumir Seth

