Skip to content

A macOS status bar working on top of yabai and AeroSpace written in Swift

License

Notifications You must be signed in to change notification settings

Jean-Tinland/a-bar

a-bar

Yet a(nother) bar :)

A native macOS menu bar replacement inspired by simple-bar, built with Swift and SwiftUI. It is a standalone recreation of simple-bar with a focus on performance, stability, and extensibility.

WebsiteDocumentation

Caution

Note of caution: Even in v1.x.x, a-bar stays in early development. Expect bugs and missing features. Feedback and contributions are welcome!

Note

About signing and notarization: a-bar is not signed or notarized. This means that you will need to bypass macOS security to run it, and you may see warnings about the app being from an unidentified developer. I'm not planning to notarize the app as it would cost almost $100/year.

Features

  • Yabai Integration: Full support for yabai window manager
    • Display workspaces and processes with app icons
    • Click to switch spaces or focus windows
    • Rename, move, and manage spaces via context menu
    • Show/hide empty spaces
    • Sticky windows support
  • AeroSpace Integration: Full support for AeroSpace window manager
    • Display workspaces and windows with app icons
    • Click to switch workspaces or focus windows
    • Show/hide empty workspaces
  • A handful selection of widgets: 17+ widgets for system information and performance monitoring
  • Custom widgets: Create your own widgets that reads data from shell commands or scripts
  • Theming, customization, and profiles

See all features in documentation.

Preview

image

Backlog

You'll find all the bugs and list of planned features in the GitHub backlog.

Requirements

  • macOS 13.0 or later
  • yabai or AeroSpace (for window management features)
  • gh CLI (optional, for GitHub notifications)

Note

a-bar can be used without yabai or AeroSpace, but you won't be able to use the spaces & processes widgets. You can still use a-bar as a system status bar replacement with its included widgets and your custom ones.

Installation

You'll find the full installation guide in the documentation.

Here's a quick summary:

Homebrew

brew tap Jean-Tinland/a-bar
brew install --cask a-bar

Warning

Note: Homebrew installation script automatically removes the com.apple.quarantine attribute. That way the app should work out of the box without having to open System Settings to allow it.

Manual installation

  1. Download the latest release from the Releases page
  2. Move a-bar.app to /Applications
  3. As the app is not notarized you will need to do the following:
    • before launching the app for the first time: run the following command in Terminal: xattr -rd com.apple.quarantine /Applications/_a-bar_.app then launch a-bar
    • after launching the app for the first time, you will need to: open System Settings > Privacy & Security, then click Open Anyway next to the a-bar warning
  4. Grant necessary permissions when prompted

Note

xattr command removes the quarantine attribute that macOS assigns to apps downloaded from the internet.

Contributing

Contributions are welcome! Please read CONTRIBUTING.md for guidelines.

AI notice

I wrote this with some help from Claude Opus: it mainly worked on the interfaces with native macOS APIs, layout builder and the profile system. I'm still in the process of learning Swift and SwiftUI, so I expect some code to be unoptimized or not following best practices. If you have suggestions for improvement, please let me know!

License

GPL-3.0 license - see LICENSE for details.

Credits

About

A macOS status bar working on top of yabai and AeroSpace written in Swift

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project