Git Product home page Git Product logo

yabai's Introduction

Yabai and Skhd Config

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.

Installation

# --- 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

Keyboard Shortcuts

Reload / restart the yabai launch agent

ctrl + alt + cmd + r

Show / hide items on desktop

cmd + f3

Toggle full screen / up-full screen

alt + cmd + space

Move Windows

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

Focus Windows

Action Key Combination
Focus left alt + cmd + left
Focus right alt + cmd + right
Focus up alt + cmd + up
Focus down alt + cmd + down

Resize Windows

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

Stack Windows

Action Key Combination
Stack left shift + alt + cmd + left
Stack right shift + alt + cmd + right

Focus Windows (stack mode)

Action Key Combination
Focus up shift + alt + cmd + up
Focus down shift + alt + cmd + down

Toggle float / Un-float mode window

ctrl + alt + cmd + space

Move Windows (floating mode)

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

Send Window to Spaces

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

Send Window to Monitors (Displays)

Action Key Combination
Send to prev monitor ctrl + alt + left
Send to next monitor ctrl + alt + right

Focus Monitors (Displays)

Action Key Combination
Focus monitor 1 ctrl + alt + 1
Focus monitor 2 ctrl + alt + 2
Focus monitor 3 ctrl + alt + 3

Misc

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

yabai's People

Contributors

z20240 avatar leslee-glints avatar

Stargazers

 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.