Personal Übersicht bar with graphic overview of windows on each space for use with yabai.
Disclaimers:
- This has only been tested on my personal machine
- Numerous values (especially script paths) are hardcoded and will likely require manual tweaking to work on your system
This widget is a heavily modified form of blaadje/fancyBar, which itself was based on apierz/nerdbar.widget.
Yabai dependencies
- koekeishiya/yabai: A tiling window manager for macOS based on binary space partitioning.
- koekeishiya/skhd: Simple hotkey daemon for macOS.
Übersicht dependencies
- nodejs: a JavaScript runtime built on Chrome's V8 JavaScript engine.
- felixhageloh/uebersicht: Desktop widgets via a webview.
yabai-uberbar dependencies
- stedolan/jq: Command-line JSON processor.
- dash shell: Lightweight, fast-starting shell.
Install dependencies
brew install dash jq yabai skhd node
brew cask install ubersicht
Clone the widget to your Übersicht widget directory
# The default Übersicht widget directory:
WIDGET_DIR="$HOME/Library/Application\ Support/Übersicht/widgets/yabai-uberbar.widget"
git clone https://github.com/AdamWagner/yabai-uberbar.git "$WIDGET_DIR"
Configure yabai Use yabai signals to refresh Übersicht when you change space or create, destroy, move, or resize windows:
Add the following to your .yabairc
file:
yabai -m signal --add event=space_changed action="uber-bar-refresh"
yabai -m signal --add event=window_created action="uber-bar-refresh"
yabai -m signal --add event=window_destroyed action="uber-bar-refresh"
yabai -m signal --add event=window_moved action="uber-bar-refresh"
yabai -m signal --add event=window_resized action="uber-bar-refresh"
yabai -m signal --add event=bar_refresh action="uber-bar-refresh"
An example implementation of uber-bar-refresh via Applescript is included.
- Flesh out "zoomed window indicator" POC
- Improve visibility of space index number against window edges
- Faster performance. Consider React-nodegui?
- Indicate active window
- Indicate application running in active window
- Multi-monitor support
- Add time, date, battery, wifi, etc. See /qhuyduong/yabai-status-bar.