#!/usr/bin/env sh # ~/.config/yabai/yabairc -- mirrors ~/.config/hypr/hyprland.lua # chmod +x this file. Requires: yabai, skhd, borders (JankyBorders). # No scripting addition: everything here works with SIP fully enabled. # ---- Layout (dwindle -> bsp) ---- yabai -m config layout bsp yabai -m config window_placement second_child # dwindle: new window goes right/below yabai -m config auto_balance off yabai -m config split_ratio 0.50 yabai -m config split_type auto # dwindle picks split by aspect ratio # ---- Gaps (gaps_in=4 per side -> 8 between windows, gaps_out=10) ---- yabai -m config window_gap 8 yabai -m config top_padding 10 yabai -m config bottom_padding 10 yabai -m config left_padding 10 yabai -m config right_padding 10 # ---- Decoration ---- yabai -m config window_shadow on # shadow.enabled = true yabai -m config insert_feedback_color 0xffa855f7 # Window animations need the scripting addition (SIP off); intentionally omitted. # ---- Borders (JankyBorders) ---- # Hyprland: border_size=4, active #a855f7 -> #7c3aed gradient, inactive #28222f, rounding=10. # Calling borders while it is already running just pushes these options to it. borders active_color="gradient(top_left=0xffa855f7,bottom_right=0xff7c3aed)" \ inactive_color=0xff28222f \ width=4.0 \ style=round & # ---- Input (follow_mouse = 2: click to focus, no focus-follows-mouse) ---- yabai -m config focus_follows_mouse off yabai -m config mouse_follows_focus off # ---- Mouse (SUPER+LMB drag = move, SUPER+RMB drag = resize) ---- yabai -m config mouse_modifier cmd yabai -m config mouse_action1 move yabai -m config mouse_action2 resize yabai -m config mouse_drop_action swap # ---- Window rules ---- # System dialogs and utilities that should float: yabai -m rule --add app="^System Settings$" manage=off yabai -m rule --add app="^Finder$" manage=off yabai -m rule --add app="^Archive Utility$" manage=off yabai -m rule --add app="^Calculator$" manage=off yabai -m rule --add app="^Activity Monitor$" manage=off yabai -m rule --add app="^Karabiner-Elements$" manage=off yabai -m rule --add title="^(Open|Save|Print)" manage=off echo "yabai configuration loaded.."