#!/usr/bin/env sh
# $DOTFILES/platforms/mac/yabairc
# Date: 2024-11-30
# Author: js0ny

#
# for this to work you must configure sudo such that
# it will be able to run the command without password
#
# see this wiki page for information:
#  - https://github.com/koekeishiya/yabai/wiki/Installing-yabai-(latest-release)#configure-scripting-addition
#
yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa"
sudo yabai --load-sa
#

# global settings
yabai -m config \
    top_padding 40 \
    external_bar off:40:0 \
    menubar_opacity 1.0 \
    mouse_follows_focus off \
    focus_follows_mouse off \
    display_arrangement_order default \
    window_origin_display default \
    window_placement second_child \
    window_zoom_persist on \
    window_shadow on \
    window_animation_duration 0.0 \
    window_animation_easing ease_out_circ \
    window_opacity_duration 0.0 \
    active_window_opacity 1.0 \
    normal_window_opacity 0.95 \
    window_opacity on \
    insert_feedback_color 0xffd75f5f \
    split_ratio 0.50 \
    split_type auto \
    auto_balance off \
    bottom_padding 12 \
    left_padding 12 \
    right_padding 12 \
    window_gap 06 \
    layout bsp \
    mouse_modifier cmd \
    mouse_action1 move \
    mouse_action2 resize \
    mouse_drop_action swap \
    focus_follows_mouse autofocus \
    mouse_follows_focus on

# Application-Specific Settings
# Use iTerm2 only for Hotkey Window (aka quake/drop-down terminal)
yabai -m rule --add app="iTerm2" manage=off
yabai -m rule --add app="Raycast" manage=off
yabai -m rule --add app="^System Information$" sticky=on manage=off
yabai -m rule --add app="^System Settings$" sticky=on manage=off

borders active_color="gradient(top_left=0xffff9e64,bottom_right=0xffbb9af7)" inactive_color="gradient(top_left=0x40ff9e64,bottom_right=0x40bb9af7)" width=5 2>/dev/null 1>&2 &

echo "yabai configuration loaded.."
