Scrollable Column Tiling
The core layout model: an infinite horizontal strip of columns. Each column contains windows that stack vertically.
With the default width, two columns are visible at once on a 16:9 display (wider displays show more). When you focus an off-screen column, it snaps into view with no animation. The focused column is always on screen.
How It Works
The FazerWM layout is different from the traditional macOS window management:
- Infinite horizontal strip: The columns extend left and right without a limit. Off-screen windows are parked at virtual coordinates (for example, x = -20000 to +20000). This uses the macOS Accessibility API.
- Column stacking: A column can hold more than one window. The windows are stacked vertically, or they are put in tabs. Stacked windows share the full width of the column, from top to bottom. The heights are equal or proportional. Tabbed windows share one space, and only the active tab is visible. See Tabbed Columns.
- Focused column is always visible: When you focus a column, the viewport scrolls so that the column is on screen.
- Automatic tiling: New windows are placed in a new column after the focused column. You do not have to arrange them manually.
Focus Behavior
Controls where the focused window lands when the focus changes. This is the Focused window location setting in Settings. PRO
| Mode | Behavior |
|---|---|
keepInView: Keep in View | A visible column stays where it is; an off-screen column scrolls the minimum needed to reveal it at the nearest edge (default) |
center | The focused column is always centered on screen |
layout:
focusBehaviour: keepInView
The center option requires FazerWM Pro. The free tier uses keepInView only.
Session toggle: Hyper+C (default) switches the session between the two modes without changing the saved setting. Press it once to act as if the other mode were configured; press it again to return to the configured mode.
Returning to Keep in View redraws immediately. Any blank strip Center left behind is closed: the focused window snaps flush to the left edge when it and the following columns can fill the display, or flush to the right edge when the preceding columns can fill it instead. Changing the saved setting in Settings clears the toggle.
Gaps
Set the spacing between all windows and the screen edges:
layout:
gaps: 6 # pixels between all windows, columns, and screen edges
The inner gaps (between windows) and the outer gaps (screen edges) both use this value. The default value is 6.
Default Window Width
Set the width for new tiled windows. The value takes one of three forms:
layout:
defaultWindowWidth: 2x # 2 windows across on a 16:9 display (default)
# defaultWindowWidth: 50% # Fraction of the display width
# defaultWindowWidth: 900pt # Fixed width in points
- Percentage (
50%): a fraction of the display's tiled width. The same value resolves wider on a wider display. - Across (
2x): the width is sized so that many windows fit side by side on a standard 16:9 display. Wider displays resolve the same setting to more columns: a 21:9 ultrawide gives three columns for2x, a 32:9 display gives four. The width is anchored to the display height, so it stays sensible across mixed setups. - Points (
900pt): a fixed width in logical points, clamped to the display width. The same width on every display.
Changing this setting resizes existing windows that use the default width. Columns you sized by hand, and windows whose width comes from a rule, keep their width. In Settings, the value is a mode picker (across, %, pt) with a preview of the resulting width on each connected display.
Column Width Steps
Change the width of a column with the shrink and grow shortcuts. Use Hyper+LOption+- to shrink. Use Hyper+LOption+= to grow. Each press moves the focused column through four fixed steps. The steps are 25%, 50%, 75%, and 100% (full width) of the tiled area. The column then remembers the width that you select. See Resizing.
Toggle Full-Width
Press Hyper+F to toggle the focused column between its current width and the full width. The column expands to fill the whole tiled area. The other columns scroll off to the side. The previous width is saved. It is restored when you toggle back.
Focus After Close PRO
Control what happens to the focus when a window closes:
layout:
focusAfterClose: stayOnWorkspace # default (Pro)
# focusAfterClose: "lastFocused"
The focusAfterClose setting requires FazerWM Pro. The default value is stayOnWorkspace. On the free tier, the value is set to lastFocused.
New Windows Follow Mouse
New windows appear on the display where the mouse is:
layout:
newWindowsFollowMouse: true # default
Window Parking
Windows that are not visible are parked. They are placed 1 pixel inside a screen corner. This keeps them open but invisible. The reasons are:
| Reason | Description |
|---|---|
| Screen Overlap | The column is partially visible on another display |
| Scrolled Off | The column is scrolled off the current viewport |
| Wrong Workspace | The window belongs to a different workspace |
| User Hidden | The user turned off the visibility of tiled windows |
Floating Windows
Not every window belongs in the tiling grid. Floating windows are left out of the layout: they keep their own size and position and stack like ordinary macOS windows (there is no separate "floating layer"). A window floats for one of two reasons: the source app already defines it as floating (dialogs, accessory apps, elevated windows; automatic and free on every tier), or a window rule floats it explicitly. There is no hotkey to float the focused window on the fly.
Press Hyper+Z to hide all tiled windows and see only the floating ones, the same "User Hidden" parking state as above. Press it again to restore.
Every window is in exactly one of four states:
| State | Description |
|---|---|
default | Normal tiled window |
tiled | Vertically tiled in a column |
tabbed | In a tabbed column |
float | Floating (not tiled); keeps its own size and position |
To float a window explicitly, declare it with a window rule. The built-in auto-float cases are free on every tier, while rule-based floating is part of Window Rules (Pro).