simple-bar
An Übersicht status bar widget for yabai
1
2
3
Code
100%
Not charging
80%
Low battery
15%
100%
60%
Volume low
30%
No volume
0%
Muted
0%
Awesome wifi
Code
Start/stop demo
Features
simple-bar is splitted in 4 main widgets
Current process name
Always keep track of the focused window and its application name and title.
Spaces display
This widget goal is to display each one of your spaces and for each of them show you all opened apps. The currently focused space is highlited.

You can directy go to a specific space simply by clicking on it, no need to repeat five time the same gesture anymore!

Only with SIP disabled:
Create, move and destroy worspaces!
Global information
Stay updated with a selection of data widgets: current browser song, Spotify current track (with play/pause state), weather at your location, battery level, microphone & sound, wifi, date & time, keyboard input language.

Some of them are interactive: play/pause Spotify, mute/unmute microphone, toggle wifi on click.
Settings module
Playing with simple-bar settings, you can for example customize its layout or enable/disable individual global information widgets.

Try it out to discover every possibilities!

Start by opening an empty workspace. Click on the current process widget then press cmd + , to open settings.
Compatibility & requirements
Before installing simple-bar, you'll need to meet some prerequisites.
OS version
simple-bar has been tested and is fully working on both Catalina & Big Sur.
Screen size
You'll need a screen with a size of 13" at least with your screen resolution scaled on "More space" setting.
simple-bar will work on smaller screens but you'll need to make a choice between the widgets you want to display.
Softwares/dependencies
In order to make simple-bar work, you'll need to install both yabai and Übersicht and keep it up to date. Follow the installation instruction on each link. Feel free to open an issue here if you need help during the process.
Installation
Follow the procedure below installing simple-bar
Clone the simple-bar repo to your Übersicht widgets directory with the following command.
$ git clone https://github.com/Jean-Tinland/simple-bar $HOME/Library/Application\ Support/Übersicht/widgets/simple-bar
If Übersicht is launched, you should see the bar directly appearing on your screen!
The last thing you need to do is downloading JetBrains Mono font and install it.

The widget for displaying yabai workspaces and process aren't refreshing automatically or with a delay. To refresh them on space or display change, you can add these lines utilizing yabai's signals at the end of .yabairc:
# Refresh spaces widget on space change
yabai -m signal --add event=space_changed action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"simple-bar-spaces-jsx\"'"
# Refresh spaces widget on display focus change
yabai -m signal --add event=display_changed action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"simple-bar-spaces-jsx\"'"
# Refresh spaces widget on window resize
yabai -m signal --add event=window_resized action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"simple-bar-spaces-jsx\"'"
# Refresh process widget on space change
yabai -m signal --add event=space_changed action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"simple-bar-process-jsx\"'"

# Refresh process widget on when focused application changes
yabai -m signal --add event=window_focused action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"simple-bar-process-jsx\"'"
# Refresh spaces widget on when focused application changes
yabai -m signal --add event=window_focused action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"simple-bar-spaces-jsx\"'"

# Refresh process widget on when focused application changes
yabai -m signal --add event=application_front_switched action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"simple-bar-process-jsx\"'"
# Refresh spaces widget on when focused application changes
yabai -m signal --add event=application_front_switched action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"simple-bar-spaces-jsx\"'"

# Refresh process widget on when an application window is closed
yabai -m signal --add event=window_destroyed action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"simple-bar-process-jsx\"'"
# Refresh spaces widget on when an application window is closed
yabai -m signal --add event=window_destroyed action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"simple-bar-spaces-jsx\"'"

# Refresh process widget when current window title changes
yabai -m signal --add event=window_title_changed action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"simple-bar-process-jsx\"'"