Simple Übersicht widget status bar with yabai support.
Originally forked from https://github.com/ajdnik/powerbar. I made it work with yabai and tweaked the aesthetics to match my preference.
Clone this repo to your Übersicht widgets directory.
# assuming your widgets are in the default Übersicht location
$ git clone https://github.com/kkga/nibar $HOME/Library/Application\ Support/Übersicht/widgets/nibar
The workspaces widget is not refreshing automatically (to preserve battery). Add these lines at the end of your yabairc
to utilize yabai's signals for auto-updating the widget whenever a workspace is changed:
yabai -m signal --add event=space_changed \
action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"nibar-spaces-jsx\"'"
# if using multple displays, add an additional rule for "display_changed" event
yabai -m signal --add event=display_changed \
action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"nibar-spaces-jsx\"'"
# add these rules to auto-update the "windows" widget
yabai -m signal --add event=window_focused \
action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"nibar-windows-jsx\"'"
yabai -m signal --add event=window_destroyed \
action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"nibar-windows-jsx\"'"
yabai -m signal --add event=window_created \
action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"nibar-windows-jsx\"'"
yabai -m signal --add event=space_changed \
action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"nibar-windows-jsx\"'"