Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sebastianst/yabai3
i3 sanity layer for yabai
https://github.com/sebastianst/yabai3
Last synced: 3 months ago
JSON representation
i3 sanity layer for yabai
- Host: GitHub
- URL: https://github.com/sebastianst/yabai3
- Owner: sebastianst
- License: mit
- Created: 2023-11-14T22:17:35.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-26T17:33:34.000Z (about 1 year ago)
- Last Synced: 2024-10-07T23:41:30.231Z (3 months ago)
- Language: Shell
- Size: 5.86 KB
- Stars: 15
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# yabai3
**yabai3** is an [i3](https://github.com/i3/i3) sanity wrapper around [yabai](https://github.com/koekeishiya/yabai).
It's a simple `zsh` script.## Features
**yabai3** provides a few commands that imitate the way i3 behaves under the same action, but uses `yabai` to accomplish the intended effects.
In the following list of available commands, `` refers to any yabai direction `(north|west|east|south)`.* `yabai3 focus ` -- move focus to window or screen in the given direction. It also cycles through stacks.
* `yabai3 move ` -- move focused window in the given direction.
It enters and leaves stacks, and also moves to adjacent displays.
* `yabai3 layout-toggle` -- toggle between `stack` and `bsp` display layout.
* `yabai3 resize (shrink|grow) (width|height) ` -- shrink/grow the width/height of the focused window by `` pixels.
* `yabai3 stack-(enter|leave) ` -- enter/leave a stack in the given direction with the focused window.
These are also used internally in the `move` command, and can be used themselves for more specific stack management.Most other i3 actions can be imitated close enough with existing `yabai` commands, so they aren't part of `yabai3` (yet).
The example `skhd` configuration below also uses plain `yabai` in these cases.
Note that **yabai3** is still young and work in progress, so more commands might be added in the future.## Usage
Create hotkey bindings just as you would for `yabai` itself, e.g. using [skhd](https://github.com/koekeishiya/skhd).
Opinionated and ready to use configuration examples for **yabai** and **skhd** that work with **yabai3** can be found in files [`yabairc`](./yabairc) and [`skhdrc`](./skhdrc).
They assume that the [`yabai3`](./yabai3) script is accessible somewhere on your `$PATH`.
You can replace `yabai3` invocations with an absolute path to the script if it's not.They also assume that the alias
```sh
alias alacritty-new='alacritty msg create-window; open -a Alacritty'```
is available to spawn a new [alacritty](https://github.com/alacritty/alacritty) window.
This alias ensures that a single alacritty app instances is reused for new windows and that any new window gets focused after creation.
Change it to your terminal of choice if you don't use alacritty.