SketchyBar Integration
FazerWM detects SketchyBar at launch and works with it: tiled windows respect the bar, and the bar shows your workspaces.
SketchyBar is a customizable macOS status bar. FazerWM integrates with it in two ways, both automatic — there is nothing to enable and no plugin to register.
- Layout awareness: FazerWM reads the bar height at launch and insets the tiled area so columns never slide under the bar.
- Workspace indicators: FazerWM maintains one bar item per workspace, per display, and updates them as you switch, add, or remove workspaces. Numbered and named workspaces both appear, using each workspace's short label when one is set.
How it looks by default
Active workspace on the highlight pill · inactive in white · + adds a numbered workspace — all inside the shared bracket.
Requirements
- SketchyBar must be installed and running before FazerWM launches. Detection happens once, at startup.
- After a display change (sleep, wake, reconnect), FazerWM re-reads the bar height and re-checks the bar, so a SketchyBar restart while displays were offline is recovered from.
How the indicators update
FazerWM talks to SketchyBar directly through its CLI — there is no shell script on the hot path. A workspace switch updates the bar items in one or two sketchybar calls, not by re-running a plugin script, so indicator updates stay in the tens of milliseconds even though the items are fully managed.
The bar items are named fazerwm_ws.<display>.<workspace>. If you run sketchybar --reload, all items are destroyed — FazerWM notices and re-registers its items on the next check.
For numbered workspaces, a + item at the end of the row adds a workspace, the same way the in-app workspace strip does.
Customizing the appearance
Item styling lives in a theme file that FazerWM installs on first launch:
~/.config/sketchybar/plugins/fazerwm.sh
The file is a plain shell config — edit the values and restart FazerWM. FazerWM never overwrites it, so your customizations survive updates. The main keys:
| Key | Default | Controls |
|---|---|---|
FG_DEFAULT | 0xffffffff | Text/icon color of inactive workspaces |
FG_ACTIVE | 0xffffffff | Color of the active workspace |
FG_ADD | 0x80ffffff | Color of the + add-workspace item |
BRACKET_FILL / BRACKET_OUTLINE | 0x40ffffff / 0x30ffffff | The bracket behind each workspace item |
BRACKET_RADIUS / BRACKET_HEIGHT | 20 / 26 | Bracket shape |
BACKGROUND_RADIUS / BACKGROUND_HEIGHT | 10 / 20 | The highlight behind the active workspace |
ICON_FONT_ACTIVE / ICON_FONT_INACTIVE | Hack Nerd Font:Bold:14.0 | Item font |
LABEL_FONT_ACTIVE / LABEL_FONT_INACTIVE | Hack Nerd Font:Bold:14.0 | Label font (named workspaces with labels) |
PADDING_LEFT / PADDING_RIGHT | 3 / 3 | Item padding |
ADD_ICON | + | The add-workspace item's icon |
Colors are 0xAARRGGBB values. The installed file contains the full list with comments; treat it as the source of truth.
Troubleshooting
If tiled windows overlap the bar, or the workspace items never appear, see Troubleshooting — the usual cause is launch order (SketchyBar must be running first).