The Recent Windows pane
Enable
Enable recent windows switcher
Grid
Columns8
Highlight
Active color
Outline width1 px
Keybinds
Next windowloption+tabRecord✕
Previous windowloption+lshift+tabRecord✕
Next (same app)loption+graveRecord✕
Previous (same app)loption+lshift+graveRecord✕

Everything below the Enable toggle dims when the switcher is off. This pane is free for everyone.

How the switcher works

The switcher tracks window focus in MRU (most recently used) order: every window that gains focus moves to the front of the list, and closed windows are pruned from it.

Switcher Overlay
All Output Workspace
Terminal
main.rs — cargo
Browser
GitHub
VS Code
RecentWindowsView.swift
Slack
#engineering
Finder
Projects
Mail
Inbox
Notes
Ideas
Music
Liked Songs
←→↑↓ Navigate ↵ Select ⎋ Cancel S Search A/O/W Scope
⌨️ Holding the modifier

The switcher stays open only while you hold the bound modifier (Option by default). When you release it, the current selection is confirmed and the overlay closes. After you press S to open search, the overlay stays open even after you release the modifier. Type freely, confirm with Return.

While the switcher is open

KeyAction
Tab / →Next window
LShift+Tab / ←Previous window
` (grave)Next window of the same app
LShift+`Previous window of the same app
↑ / ↓Navigate the grid rows
Home / ASelect first, or scope: All
End / WSelect last, or scope: Workspace
SOpen search
OScope: Output (the current display)
EscCancel (return to the original window)
ReturnSelect the focused window (confirm)
Release modifiersConfirm the selection

Scopes

ScopeWindows shown
allAll windows across all displays and all workspaces
outputOnly windows on the current display
workspaceOnly windows on the current workspace
ℹ️ Single display

When only one display is connected, the Output scope is hidden automatically: it is removed from the scope bar and from the keyboard shortcuts.

Press S while the switcher is open to activate the search bar. Type to filter the visible thumbnails by app name, window title, or bundle ID; results filter as you type (case-insensitive). Navigate with the arrow keys, confirm with Return, or exit search with Esc (the overlay stays open). The overlay also ignores modifier release while you type.

Controls

ControlDefaultWhat it doesConfig key
Enable recent windows switcheronMaster switch. Disabling frees the Option+Tab keybinds for other apps (focus tracking keeps running).recentWindows.enabled
Columns8Grid width of the switcher. Slider 0–15; 0 = Auto, sized to the display width.recentWindows.columns
Active color#9CFDBAOutline color of the selected thumbnail.recentWindows.highlight.colorActive
Outline width1 pxThickness of that outline. Slider 1–10.recentWindows.highlight.outlineWidth
Next windowloption+tabStep forward through the MRU list.binds.recentWindowNext
Previous windowloption+lshift+tabStep backward through the MRU list.binds.recentWindowPrevious
Next (same app)loption+graveStep forward within the focused app's windows.binds.recentWindowSameAppNext
Previous (same app)loption+lshift+graveStep backward within the focused app's windows.binds.recentWindowSameAppPrevious

These four keybinds are the deliberate exception to the Hyper-key grammar: they mirror macOS ⌘+Tab muscle memory on Option+Tab. LShift+Tab alone is never bound by FazerWM so reverse focus traversal always reaches your apps.

YAML equivalent

recentWindows:
  enabled: true
  columns: 8                # 0 = auto-size to the display width
  highlight:
    colorActive: '#9CFDBA'
    outlineWidth: 1

binds:
  recentWindowNext: loption+tab
  recentWindowPrevious: loption+lshift+tab
  recentWindowSameAppNext: loption+grave
  recentWindowSameAppPrevious: loption+lshift+grave