Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/AdamWagner/yabai-uberbar
Übersicht bar for yabai with graphic overview of windows on each space.
https://github.com/AdamWagner/yabai-uberbar
jsx ubersicht yabai
Last synced: 3 months ago
JSON representation
Übersicht bar for yabai with graphic overview of windows on each space.
- Host: GitHub
- URL: https://github.com/AdamWagner/yabai-uberbar
- Owner: AdamWagner
- License: bsd-2-clause
- Created: 2020-02-09T18:44:22.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-02-12T01:29:14.000Z (over 4 years ago)
- Last Synced: 2024-06-26T00:38:04.787Z (4 months ago)
- Topics: jsx, ubersicht, yabai
- Language: Shell
- Size: 6.32 MB
- Stars: 38
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# yabai-uberbar
Personal [Übersicht](http://tracesof.net/uebersicht/) bar with graphic overview of windows on each space for use with [yabai](https://github.com/koekeishiya/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*Screen Shots:*
![img](https://github.com/AdamWagner/yabai-uberbar/blob/master/resources/screenshots/yabai-uberbar.png?raw=true)
![img](https://github.com/AdamWagner/yabai-uberbar/blob/master/resources/screenshots/yabai-uberbar-demo.gif?raw=true)This widget is a heavily modified form of [blaadje/fancyBar](https://github.com/blaadje/fancyBar#readme), which itself was based on [apierz/nerdbar.widget](https://github.com/apierz/nerdbar.widget).
## Dependencies
**Yabai dependencies**
- [koekeishiya/yabai](https://github.com/koekeishiya/yabai): A tiling window manager for macOS based on binary space partitioning.
- [koekeishiya/skhd](https://github.com/koekeishiya/skhd): Simple hotkey daemon for macOS.**Übersicht dependencies**
- [nodejs](https://nodejs.org/en/): a JavaScript runtime built on Chrome's V8 JavaScript engine.
- [felixhageloh/uebersicht](https://github.com/felixhageloh/uebersicht): Desktop widgets via a webview.**yabai-uberbar dependencies**
- [stedolan/jq](https://github.com/stedolan/jq): Command-line JSON processor.
- [dash shell](http://gondor.apana.org.au/~herbert/dash/): Lightweight, fast-starting shell.---
## Installation
**Install dependencies**
```bash
brew install dash jq yabai skhd node
brew cask install ubersicht
```**Clone the widget to your Übersicht widget directory**
```bash
# 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](https://github.com/koekeishiya/yabai/wiki/Commands#automation-with-rules-and-signals) to refresh Übersicht when you change space or create, destroy, move, or resize windows:Add the following to your `.yabairc` file:
```bash
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](https://github.com/AdamWagner/yabai-uberbar/blob/master/refresh) via Applescript is included.
## Enhancements / Fixes
- Flesh out "zoomed window indicator" POC
- Improve visibility of space index number against window edges
- Faster performance. Consider [React-nodegui](https://react.nodegui.org/)?
- Indicate active window
- Indicate application running in active window
- Multi-monitor support
- Add time, date, battery, wifi, etc. See [/qhuyduong/yabai-status-bar](https://github.com/qhuyduong/yabai-status-bar/blob/master/scripts/right_bar.sh).