This repository contains my standalone Yabai and Skhd configurations.
As tiling windows management, every times window created, it will allocate a space for it to avoid window overlap to each other.
You'll never suffering messy window display for desktop.
# --- install yabai, skhd, jq
$ brew install koekeishiya/formulae/yabai
$ brew install jq
$ brew install koekeishiya/formulae/skhd
# --- Remove previous links
$ rm -f "${HOME}"/.{yabai,skhd}rc
# --- Install configs
$ git clone https://github.com/z20240/yabai.git "${HOME}"/.config/yabai
$ ln -s "${HOME}/.config/yabai/yabai/yabairc" "${HOME}/.yabairc"
$ ln -s "${HOME}/.config/yabai/skhd/skhdrc" "${HOME}/.skhdrc"
# --- Will automatically start Yabai & Skhd when computer starts
$ brew services start yabai
$ brew services start skhd
# --- (options) Install stackline part. --- #
### stackline can show icons aside by your stacked windows to announce the stack windows.
$ brew install hammerspoon --cask
# Install stackline (https://github.com/AdamWagner/stackline)
# Get the repo
$ git clone https://github.com/AdamWagner/stackline.git ~/.hammerspoon/stackline
# Make stackline run when hammerspoon launches
$ cd ~/.hammerspoon
$ cp ~/.hammerspoon/stackline/conf.lua ~/.hammerspoon/stakeline_config.lua
# **Hint**: If your mac is M1 structure - you have to change the code below
# -- in stackline/conf.lua
# c.paths.yabai = '/opt/homebrew/bin/yabai' -- silicon mac, M1
# c.paths.yabai = '/usr/local/bin/yabai' -- intel version.
echo 'stackline = require "stackline"' >> init.lua
echo 'local stackline_config = require "stackline_config"' >> init.lua
echo 'stackline:init(stackline_config)' >> init.lua
ctrl + alt + cmd + r
cmd + f3
alt + cmd + space
Action | Key Combination |
---|---|
Move left | ctrl + alt + cmd + left |
Move right | ctrl + alt + cmd + right |
Move up | ctrl + alt + cmd + up |
Move down | ctrl + alt + cmd + down |
Action | Key Combination |
---|---|
Focus left | alt + cmd + left |
Focus right | alt + cmd + right |
Focus up | alt + cmd + up |
Focus down | alt + cmd + down |
Action | Key Combination |
---|---|
Resize left | ctrl + alt + cmd + home |
Resize right | ctrl + alt + cmd + end |
Resize up | ctrl + alt + cmd + pageUp |
Resize down | ctrl + alt + cmd + pageDown |
Action | Key Combination |
---|---|
Stack left | shift + alt + cmd + left |
Stack right | shift + alt + cmd + right |
Action | Key Combination |
---|---|
Focus up | shift + alt + cmd + up |
Focus down | shift + alt + cmd + down |
ctrl + alt + cmd + space
Action | Key Combination |
---|---|
Move left | alt + cmd + left |
Move right | alt + cmd + right |
full screen | alt + cmd + up |
place window to screen center | alt + cmd + down |
Move up left | alt + cmd + home |
Move down right | alt + cmd + end |
Move up right | alt + cmd + pageUp |
Move down left | alt + cmd + pageDown |
Action | Key Combination |
---|---|
Send to prev space | ctrl + cmd + left |
Send to next space | ctrl + cmd + right |
Send to space (1-9) | ctrl + cmd + 1 - 9 |
Action | Key Combination |
---|---|
Send to prev monitor | ctrl + alt + left |
Send to next monitor | ctrl + alt + right |
Action | Key Combination |
---|---|
Focus monitor 1 | ctrl + alt + 1 |
Focus monitor 2 | ctrl + alt + 2 |
Focus monitor 3 | ctrl + alt + 3 |
Action | Key Combination |
---|---|
Window rotate clockwise | alt + cmd + r |
Window rotate anticlockwise | shift + alt + cmd + r |
Window Equalize size | alt + cmd + | |
Enable / Disable gaps | alt + cmd + g |