Giter VIP home page Giter VIP logo

yabai-uberbar's Introduction

yabai-uberbar

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

Screen Shots: img img

This widget is a heavily modified form of blaadje/fancyBar, which itself was based on apierz/nerdbar.widget.

Dependencies

Yabai dependencies

Übersicht dependencies

yabai-uberbar dependencies


Installation

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.

Enhancements / Fixes

  • 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.

yabai-uberbar's People

Contributors

adamwagner avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.