There is no separate “customize” section in these docs, and that is not an omission. Settings has five panes (General, Shortcuts, Mouse, VM & Exceptions, About), and every control in them belongs to one feature. So each feature below carries its own settings, at the point where you would want them.
Window cycling
Win+` walks the windows of the foreground application and nothing else: Chrome window 1 → Chrome window 2 → … Alt+Tab piles every app’s windows together; this does the job Alt+Tab does not.
A tap stays on the monitor and the virtual desktop you are on, so a window parked on another screen never surprises you by taking focus.
Tap, or hold
Tap and you move to the next window on this monitor immediately. Hold the shortcut and a visual switcher overlay opens, composing live thumbnails of the app’s windows from every monitor on this virtual desktop, so you can pick rather than count.
| Setting | Where | Default |
|---|---|---|
| Primary chord | Shortcuts → Switching | Win+` |
| Fallback chord | Shortcuts → Switching | Alt+` |
| Enable Visual Switcher Overlay | General | On |
| Hold Delay Threshold | General | 300 ms (range 100 to 500) |
Snapping
Three families, all on the Ctrl+Alt tier that Windows leaves alone. No zone editor to draw first, and no second tray app to keep running.
Halves
Ctrl+Alt+←/→/↑/↓ snaps to 50% of the work area against that edge. Fixed, and always exactly half.
Thirds
Ctrl+Alt+1/2/3 snaps to the left, middle, or right third. This is the FancyZones case for anyone who wants thirds and nothing else.
Your own percentage, per edge
Ctrl+Alt+Shift+←/→/↑/↓ does the same at a percentage you choose, and each of the four edges carries its own number. A 60% left and a 40% right are two different settings, not one split, so an editor on the left at 60 pairs with a browser on the right at 40 without either being “the remainder”.
| Setting | Where | Default |
|---|---|---|
| Percentage: left / right | Shortcuts → Snap to custom, on the row itself | 67 each |
| Percentage: top / bottom | Shortcuts → Snap to custom, on the row itself | Top 33, bottom 67 |
| Every chord above | Shortcuts, grouped by what it snaps to | See the table |
Move & arrange
| Action | Default | What it does |
|---|---|---|
| Maximize | Ctrl+Alt+Enter | Full screen on the monitor the window is on. |
| Move to next monitor | Ctrl+Alt+Shift+Enter | Keeps the window’s relative size and position on the new screen. |
| Overlapping stack | Ctrl+Alt+Shift+S | Three windows at a width you set, deliberately overlapping, for a small monitor where you still want a third window visible. |
The stack’s width percentage sits on the Overlapping Stack row itself, beside that action’s chord and its on/off switch. There is no Layout pane any more: a setting that belongs to one action now lives with that action.
Switching one off
Every remappable shortcut has its own enable/disable control. Turning one off drops its chord from the keyboard hook entirely, so the key combination reaches whatever app is focused unchanged, exactly as if Wira Desk were not installed. The stored chord itself is untouched, so turning the action back on needs no re-entry.
Mouse navigation
Vendor suites exist to remap buttons the mouse is already reporting. Wira Desk reads them straight
off the standard Win32 input stream, WM_XBUTTONDOWN and
WM_MOUSEHWHEEL, so there is no driver, no configuration app, and no dependence on
a single manufacturer.
Four inputs, and out of the box all four run Windows’ own actions: the ones your thumb already expects.
| Input | Default | Where |
|---|---|---|
| Enable Mouse Navigation | On | Mouse pane |
| Thumb button 1 (Back) | Previous virtual desktop | Mouse pane |
| Thumb button 2 (Forward) | Next virtual desktop | Mouse pane |
| Tilt wheel left | Show desktop | Mouse pane |
| Tilt wheel right | Task View | Mouse pane |
The twenty actions you can bind instead
Any of these can take a button’s place:
- Desktops and shell: next virtual desktop, previous virtual desktop, Task View, show desktop.
- Switching: cycle forward.
- Snap to half: left, right, top, bottom.
- Snap to third: left, center, right.
- Snap to custom: left, right, top, bottom.
- Arrange: maximize, overlapping stack, move to next monitor.
- Passthrough: hands the button back to Windows untouched.
VM & Remote Desktop exceptions
Inside a virtual machine or a remote session, a global shortcut is usually the wrong thing: the chord you press is meant for the guest, not the host. The VM & Exceptions pane lists the windows that receive raw, unintercepted keystrokes.
Shipped defaults
| Passthrough executables | mstsc.exe · vmconnect.exe · vmware.exe · VirtualBoxVM.exe · MobaXterm.exe |
|---|---|
| Passthrough window classes | VMwareUnityWindow |
Process names and window classes are configured independently, because some clients are best matched one way and some the other: a Unity-mode VMware window is a class, not a process name.
The config file
Everything above is stored in one file:
%APPDATA%\WiraDesk\config.toml. It is written atomically through a
.tmp swap, so an interrupted save cannot leave half a file.
[general] auto_start = false check_updates = true [switcher] shortcut = "win+backtick" shortcut_enabled = true fallback_shortcut = "alt+backtick" fallback_shortcut_enabled = true visual_enabled = true visual_hold_delay_ms = 300 [snapping] snap_half_left = "ctrl+alt+left" snap_half_left_enabled = true snap_percent_left = "ctrl+alt+shift+left" percent_left = 67 snap_third_left = "ctrl+alt+1" snap_maximize = "ctrl+alt+enter" [layout] stack_width_percent = 50 stack_shortcut = "ctrl+alt+shift+s" move_next_monitor_shortcut = "ctrl+alt+shift+enter" [vm_bypass] bypass_processes = ["mstsc.exe", "vmconnect.exe", "vmware.exe", "VirtualBoxVM.exe", "MobaXterm.exe"] bypass_classes = ["VMwareUnityWindow"] [mouse] enabled = true thumb_back = "prev_virtual_desktop" thumb_forward = "next_virtual_desktop" tilt_left = "show_desktop" tilt_right = "task_view"
You can edit it by hand. Reload is all-or-nothing: an unreadable, malformed, or invalid file leaves the previous configuration in force and emits one warning to the log rather than starting up half-configured. Every field carries a default, so a partial file still loads and simply gains the values it is missing.
Two other things in Settings
| Spatial Preservation Lock | General pane. Keeps a window’s place across monitor changes rather than letting Windows re-flow it. |
|---|---|
| Show Unresponsive Windows | General pane. Includes windows that are not answering in the cycling ring instead of hiding them, because you probably want to reach the frozen one. |