#!/usr/bin/env bash # vim:fileencoding=utf-8:foldmethod=marker sudo yabai --load-sa yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa" # ensure that there are always 10 spaces spacestocreate=10 spaces=$((spacestocreate - $(yabai -m query --spaces | jq length))) while [ "$spaces" -gt 0 ]; do yabai -m space --create spaces=$((spaces - 1)) done yabai -m config \ auto_balance off \ focus_follows_mouse off \ layout bsp \ mouse_drop_action swap \ mouse_follows_focus on \ mouse_modifier off \ window_animation_duration 0.1 \ window_border on \ window_border_blur off \ window_border_width 2 \ window_gap 4 \ window_origin_display default \ window_placement second_child \ window_shadow float APPS_ABOVE=( "JetBrains Toolbox" "Mullvad VPN" "Sip" "iStat Menus Status" ) for app in "${APPS_ABOVE[@]}"; do yabai -m rule --add app="^$app\$" manage=off sticky=on layer=above border=off done APPS_UNMANAGED=( "GOG Galaxy" "Steam" "System Preferences" ) for app in "${APPS_UNMANAGED[@]}"; do yabai -m rule --add app="^$app\$" manage=off done yabai \ -m rule --add app="CleanShot" manage=off border=off \ -m rule --add app="OBS Studio" manage=off sticky=on echo "$(date -Iseconds): [RELOAD] finished loading yabai conf"