#!/usr/bin/env sh

sudo yabai --load-sa
yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa"
yabai -m signal --add event=window_created action="~/.config/yabai/scripts/float_and_center_if_alone.sh"

yabai -m config external_bar all:40:0 \
    menubar_opacity 1 \
    mouse_follows_focus off \
    focus_follows_mouse off \
    window_zoom_persist off \
    window_placement second_child \
    window_shadow float \
    window_opacity off \
    window_opacity_duration 0.3 \
    active_window_opacity 1.0 \
    normal_window_opacity 1.0 \
    window_animation_duration 0.25 \
    window_animation_easing ease_out_expo ease_in_sine \
    insert_feedback_color 0xffb85944 \
    auto_balance on \
    mouse_modifier fn \
    mouse_action1 move \
    mouse_action2 resize \
    mouse_drop_action swap \
    top_padding 10 \
    bottom_padding 15 \
    left_padding 15 \
    right_padding 15 \
    window_gap 15

# Space Naming
yabai -m space 1 --label "Dev"
yabai -m space 2 --label "Web"
yabai -m space 3 --label "Media"
yabai -m space 4 --label "Logic"
yabai -m space 5 --label "Media"
yabai -m space 6 --label "Finder"
yabai -m space 7 --label "Other"

# Set all padding and gaps to 20pt (default: 0)
yabai -m config top_padding 10
yabai -m config bottom_padding 20
yabai -m config left_padding 20
yabai -m config right_padding 20
yabai -m config window_gap 20

# Exclude problematic apps from being managed:
yabai -m rule --add app="^(LuLu|Calculator|Software Update|Dictionary|VLC|System Preferences|System Settings|zoom.us|Photo Booth|Archive Utility|Python|LibreOffice|App Store|Steam|Alfred|Activity Monitor)$" manage=off
yabai -m rule --add label="Finder" app="^Finder$" title="(Co(py|nnect)|Move|Info|Pref)" manage=off
yabai -m rule --add label="Safari" app="^Safari$" title="^(General|(Tab|Password|Website|Extension)s|AutoFill|Se(arch|curity)|Privacy|Advance)$" manage=off
yabai -m rule --add label="About This Mac" app="System Information" title="About This Mac" manage=off
yabai -m rule --add label="Select file to save to" app="^Inkscape$" title="Select file to save to" manage=off

yabai -m config layout bsp

yabai -m config --space 1 layout float

echo "yabai configuration loaded.."
