lucaorio / nero

Übersicht widget to monitor the state of Yabai tiling window manager

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nero

Nero

Nero is a Übersicht widget to monitor the state of Yabai tiling window manager.

Table of Contents

Requirements

Installation

CLI

git clone http://github.com/lucaorio/nero && cd nero
cp -r nero ~/Library/Application\ Support/Übersicht/widgets

Manual

  • Download the latest version
  • Unzip it
  • Copy nero to the ~/Library/Application\ Support/Übersicht/widgets directory

Usage

Nero follows macOS's appearance and switches between light/dark mode automatically. If the colors do not work well with your wallpaper, take a look at the customization section.

As of now, Nero provides multi-monitor indicators for:

  • Current layout (bsp vs. flt) of the active space
  • All spaces available (and the active one)
  • Current status (sticky and floating) of the active window

Nero Anatomy

The widgets do not refresh periodically to preserve battery life and stay as reactive as possible. The re-rendering should be triggered by relying on Yabai's own signals and the activation method / hotkey utility of choice.

If you need some examples, take a look at Intentio, another project I released. Intentio is a collection of config files for a shortcut system based on Karabiner (via Goku), Yabai, and Übersicht (via Nero.)

Customization

It's difficult to replicate the translucency effect of macOS native menubar because Übersicht does not play well with the mix-blend-mode and backdrop-filter CSS properties. Because of that, there are a couple of objects and a variable to customize the widgets quickly for those cases in which they don't look great with a particular wallpaper:

  • You can manually set the forcedTheme variable to prevent the theme from changing
  • You can tweak the lightTheme or darkTheme objects to customize the appearance
const forcedTheme = false // false, 'dark', or 'light'

const lightTheme = {
// regular indicators
txtColor: 'rgba(255, 255, 255, 1)',
bgColor: 'rgba(0, 0, 0, 0.2)',
borderWidth: '1px',
borderColor: 'rgba(255, 255, 255, 0.2)',

// active indicators
txtColorActive: 'rgba(29, 36, 26, 1)',
bgColorActive: 'rgba(255, 255, 255, 1)',
borderWidthActive: '1px',
borderColorActive: 'rgba(255, 255, 255, 1)',
}

// darkTheme ...

It is up to personal taste, but Nero works best when a bottom padding is defined in the yabairc config file:

yabai -m config bottom_padding 54

Notes

The first version of Nero was meant to replace macOS menubar and add a few additional indicators. It also included a widget for Yabai and a theme for Alfred.

With this version, I'm taking an entirely different approach and focus on Yabai, which seems to be the main reason why people discovered this repo in the first place:

  • The Alfred theme has been moved to alfred-theme-nero. The repository is available for whoever needs it, but it won't be updated anymore (as a note, I am currently using Raycast.)
  • The indicators for macOS have been removed because quick, periodic refreshing of Übersicht widgets was a real drag on the battery.

License

https://github.com/lucaorio/obsidian-image-gallery/blob/master/license

Contacts

About

Übersicht widget to monitor the state of Yabai tiling window manager

License:MIT License


Languages

Language:JavaScript 100.0%