dotfiles/dot_config/yabai/executable_yabairc

54 lines
1.2 KiB
Bash

#!/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"