Skip to content
SumirSethPublic

About

A dock and a launcher for Windows. Replaces the taskbar. Alt+Space grows the dock into a launcher. Rust and Win32, one ~1.5 MB exe.

Topics

Resources

Contributing

Stars

162 stars

Watchers

2 watching

Forks

Repository files navigation

Wisp logo

Wisp

A dock and a launcher for Windows.
Replaces the taskbar. One ~1.5 MB executable.

Latest release CI MIT license Windows 11

The dock slides up, then grows into the launcher

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.

Install

  1. Download wisp-vX-x86_64-windows.zip from the latest release.
  2. Extract it to %LOCALAPPDATA%\Programs\Wisp.
  3. 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.Wisp

Update 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.

Dock

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.

Launcher

The launcher searching for apps

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

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 and drop

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.

Settings

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 Google 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.

Speed

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.

How it works

  • 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.

Build

Install Rust and the Windows SDK, then:

git clone https://github.com/SumirSeth/wisp
cd wisp
cargo build --release --workspace

To 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.

License

MIT © Sumir Seth

About

A dock and a launcher for Windows. Replaces the taskbar. Alt+Space grows the dock into a launcher. Rust and Win32, one ~1.5 MB exe.

Topics

Resources

Contributing

Stars

162 stars

Watchers

2 watching

Forks

Releases

Used by

Contributors

Languages