dotfiles/dot_config/yabai/executable_yabairc

72 lines
1.9 KiB
Bash

#!/usr/bin/env bash
# vim:fileencoding=utf-8:foldmethod=marker
# Link to skhrc for <g-f>: ~/.config/skhd/skhdrc
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 \
mouse_follows_focus off \
focus_follows_mouse off \
mouse_modifier fn \
mouse_action1 move \
mouse_action2 resize \
mouse_drop_action swap \
window_origin_display default \
window_placement second_child \
window_border off \
window_border_width 2 \
window_opacity on \
window_opacity_duration 0.1 \
normal_window_opacity 1.0 \
window_shadow float \
auto_balance off \
split_ratio 0.50 \
layout bsp \
top_padding 5 \
bottom_padding 5 \
left_padding 5 \
right_padding 5 \
window_gap 5 \
window_animation_duration 0.1 \
external_bar all:32:0
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
yabai -m rule --add app="^CleanShot X\$" manage=off border=off
APPS_UNMANAGED=(
"System Preferences"
)
for app in "${APPS_UNMANAGED[@]}"; do
yabai -m rule --add app="^$app\$" manage=off
done
APPS_OPACITY=(
"Alacritty"
"kitty"
"WezTerm"
"wezterm-gui"
)
for app in "${APPS_OPACITY[@]}"; do
yabai -m rule --add app="^$app\$" opacity=0.95
done
echo "$(date -Iseconds): [RELOAD] finished loading yabai conf"