Skip to content
Seb-GRAFPublic

About

A native, customizable menu bar for macOS, with themes, widgets, popups and AeroSpace, yabai or OmniWM workspaces. A free, open-source alternative to SketchyBar.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

21 stars

Watchers

0 watching

Forks

Latest commit

 

History

581 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StableBar

A native, configurable menu bar for macOS and an alternative to SketchyBar. Built with Swift, AppKit and SwiftUI.

Download for Mac · Website · User guide · Widget store

The top of your bar. A closer look at the widgets: Made yours. The camera pulls back and the intro loops.

Install

Download StableBar.dmg, drag it to Applications and open it. Setup walks you through a preset, a theme and a placement.

Or install with Homebrew:

brew install --cask seb-graf/tap/stablebar

macOS 14+ · Apple silicon · Free and open source. Releases update themselves. See Getting started for permissions, beta updates and uninstalling.

Workspaces and popups

Switching workspaces updates the selected workspace and the app window below, with the screen held still.

Follow your workspaces with AeroSpace, yabai or OmniWM. Without a window manager, try the opt-in macOS Spaces source.

The pointer opens music controls and then a CPU and memory graph beneath their widgets.

Keep the active app, calendar, system stats and playback controls in reach. Widgets can open popups with graphs, lists and controls. Each display gets its own bar, with room for the notch.

Built-in widgets · Custom popups · Multiple displays

Make it yours

The same bar changes through the included themes while the screen and wallpaper stay still.

Choose from Built-in and six bundled themes, or save your own.

The pointer opens Edit Bar in Place, drags Now Playing beside the notch and clicks Done.

Right-click the bar and choose Edit Bar in Place to drag widgets between positions, add them with + or remove them with −. Changes save as you go, with undo.

Themes · Editing your bar

Add your widgets

A shell script prints disk usage and its output appears as a widget on the bar.

Run a command that prints text or JSON, and its output becomes a widget. Refresh on a timer or on events.

The pointer gets Weather from the Store, and its widget appears on the bar.

Find widgets and themes in Settings → Packages → Store. StableBar shows a package's commands, hosts and permissions before anything runs.

Create a widget · Packages and the store

A shell script is enough
#!/bin/sh
# ~/.config/stablebar/widgets/disk.sh
used=$(df -h / | awk 'NR == 2 { print $5 }')
printf '{"text":"%s","icon":"internaldrive"}' "$used"
{
  "id": "disk", "type": "script", "position": "right", "interval": 300,
  "command": "~/.config/stablebar/widgets/disk.sh"
}

Settings or JSON

StableBar Settings and config.json open beneath the bar in a fixed view.

Change content, appearance and behavior in Settings, with undo and redo. Or edit ~/.config/stablebar/config.json: StableBar applies it when you save and keeps the last working bar if a change is invalid. The JSON schema gives your editor completion and validation.

Settings · Configuration · Command line · Example setups

A minimal configuration
{
  "$schema": "https://raw.githubusercontent.com/Seb-GRAF/StableBar/main/stablebar.schema.json",
  "theme": { "id": "catppuccin" },
  "widgets": [
    { "id": "spaces", "type": "workspaces", "position": "left" },
    { "id": "app", "type": "activeApp", "position": "left" },
    { "id": "power", "type": "battery", "position": "right" },
    { "id": "clock", "type": "clock", "position": "right", "format": "EEE d MMM  HH:mm" }
  ]
}

Contributing

Built by Sebastien Graf and Steve Mendes Reis, with help from everyone who has contributed.

Bug reports, ideas and pull requests are welcome. CONTRIBUTING.md explains how to build StableBar, run the tests and open a pull request. Report security issues privately through SECURITY.md.

Available under the MIT License, including commercial use and redistribution.

Latest release CI

About

A native, customizable menu bar for macOS, with themes, widgets, popups and AeroSpace, yabai or OmniWM workspaces. A free, open-source alternative to SketchyBar.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

21 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages