Skip to content
This repository has been archived by the owner on Mar 9, 2024. It is now read-only.
/ Yabai-Setup Public archive

A simple set of functions to set up and use yabai.

License

Notifications You must be signed in to change notification settings

MorganKryze/Yabai-Setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yabai-Config

A simple set of functions to set up and use yabai.

screenshot

Getting Started

Introduction

This project is a simple and clean configuration functions set for yabai. It is designed to be easy to use. The whole project uses yabai and skhd developped by koekeishiya.

Prerequisites

  • OS: macOS (version requirements are available in the readme of yabai)
  • zsh terminal

Install

Get into your terminal in your home directory or where you want to install the project (somewhere stable).

To go to your home directory, use the following command:

cd ~

To install the project, download the .zip file from github or use the following command:

git clone https://github.com/MorganKryze/Yabai-Setup.git

Then, go to the project directory:

cd Yabai-Setup

You can add the commands to your shell configuration file (e.g. ~/.zshrc). To do so, use the following command:

zsh add-commands.sh

Important

Before getting into the fun part, go to : System Settings > Desktop & Dock > Mission Control and only check "Displays have separate Spaces".

Then, follow the steps described in this page to disable some System Integrity Protection (SIP) features: yabai.

Caution

These steps above are not mandatory and can be dangerous but are recommended to use the full potential of yabai.

Now, everything is set up. Start by running the following command:

yabai-help

Now you may start the installation process by running the following command:

yabai-install

Note

You will be asked to authorize yabai to access Accessibility features. You can do so by going to System Preferences > Privacy & Security > Accessibility and check the box next to yabai.

Then, you can start yabai by running the following command:

yabai-start

Usage

Now that you have installed the project, you can use the following commands:

  • yabai-help: Display the help message.
  • yabai-start: Start yabai service.
  • yabai-stop: Stop yabai service.
  • yabai-restart: Restart yabai.
  • yabai-uninstall: Uninstall yabai (refer to this page to re-enable system integrity protection)
  • yabai-update: Update the project alogside with yabai and skhd.

Tip

I recommend you to use the yabai-update often to stay up to date with the project.

Troubleshooting

If you encounter this error message (or for any command):

zsh: command not found: yabai-help

You may not have add the path to the yabai-setup.sh file to your shell configuration file (e.g. ~/.zshrc) or moved the project directory.

Then redo the following command and restart your terminal (or add manually the path to your .zshrc located in ~/.zshrc):

zsh add-commands.sh

Project structure

Here are the most important files and directories of the project( you may ignore the other files and directories):

Yabai-Setup
├── src
│   ├── assets
│   │   ├── img
│   │   │   └── screenshot.png
│   │   ├──.skhdrc.example
│   │   └──.yabairc.example
│   └── yabai-setup.sh
├── .gitignore
├── add-commands.sh
├── SECURITY
├── CODE_OF_CONDUCT
├── CONTRIBUTING
├── LICENCE
└── README.md

Small descriptives

src/

This directory contains the source code of the project.

src/assets/

This directory contains the assets of the project.

.skhdrc.example and .yabairc.example

Default configuration files for skhd and yabai (contains shortcuts and behaviors).

yabai-setup.sh

The main file of the project. It contains the functions of the project.

add-commands.sh

A file to add the commands to your shell configuration file (e.g. ~/.zshrc).

Supported platforms

  • MacOS (yabai is a MacOS only tiling manager)

Contributing

If you want to contribute to the project, you can follow the steps described in the CONTRIBUTING file.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

About

A simple set of functions to set up and use yabai.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Languages