/SketchyBar

A highly customizable macOS status bar replacement

Primary LanguageCGNU General Public License v3.0GPL-3.0

Install Documentation Setups Plugins

This bar project aims to create a highly flexible, customizable, fast and powerful status bar replacement for people that like playing with shell scripts.

More Setups

Features

  • Full configurability at any time
  • Dynamic animation system
  • Powerful scripting and event system
  • Optimized to be fast and efficient
  • Interactive mouse support
  • Support for displaying macOS menu bar apps (aliases)
  • Can draw arbitrary graphs
  • On-demand popup menus

The main design principle of this project is that all elements of the bar can be added, removed and freely changed at any point in time. Thus, the configuration of the bar is not static, rather it is possible to adapt the appearance of the bar completely dynamically with the help of a powerful event-driven scripting system at any point in time using the highly configurable basic building blocks SketchyBar offers.

Getting Started

Refer to the installation guide in the documentation to get the program set up. Once this is sorted you can start to become familiar with the syntax of sketchybar by going through the default sketchybarrc file and the default plugin scripts, which are located in ~/.config/sketchybar/ and look like this:

All commands and options are explained in detail in the relevant sections of the configuration documentation. You can try the commands directly from the commandline to see which affect they have and how they alter the bar. Once you have become familiar with the syntax you can look for a config to start from here or start from scratch and customize everything to your liking.

You might also enjoy looking at the Tips & Tricks section for some further tips on your journey. If you are searching for functional items you might want to check the plugins section if someone has already created what you are looking for.

Should you encounter things not working as you expect them to, please do not hesitate to open an issue, as this is either a bug or a documentation problem and relevant in any case.

Documentation

For the full documentation of all commands and properties please refer to the website.

If questions remain, feel free to consult the Q&A section.

Supporting

You can support this project is many ways:

  • By creating issues and pull-requests if you encounter problems
  • By sharing your plugins and setups
  • By starring the project on GitHub
  • If this project has value to you, consider quantifying it and donating to a charity of your choice. If you want to let me know about your donation, you can contact me via email.

Credits

This project was forked from spacebar and completely reimagined and rewritten.
The original idea is based on the status bar that was included in yabai before getting removed.

Some animation examples

animations.mp4