88 lines
4.3 KiB
Bash
88 lines
4.3 KiB
Bash
#!/usr/bin/env sh
|
|
|
|
# necessary to load scripting-addition during startup on macOS Big Sur
|
|
# *yabai --load-sa* is configured to run through sudo without a password
|
|
sudo yabai --load-sa
|
|
yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa"
|
|
|
|
# mission-control desktop labels
|
|
yabai -m space 1 --label code
|
|
yabai -m space 2 --label web
|
|
yabai -m space 3 --label mail
|
|
yabai -m space 4 --label chat
|
|
yabai -m space 5 --label social
|
|
yabai -m space 6 --label notes
|
|
yabai -m space 7 --label media
|
|
yabai -m space 8 --label games
|
|
|
|
# window rules
|
|
yabai -m rule --add app="^WezTerm$" space=code
|
|
yabai -m rule --add app="^(Safari|Firefox)$" space=web
|
|
yabai -m rule --add app="^(Mail|Canary Mail|Thunderbird)$" space=mail
|
|
yabai -m rule --add app="^Element$" space=chat
|
|
yabai -m rule --add app="^Discord$" space=social grid=1:1:0:0:1:1 manage=off
|
|
yabai -m rule --add app="^(Notes|Joplin)$" space=notes
|
|
yabai -m rule --add app="^(Spotify|Finamp|Musik)$" space=media
|
|
yabai -m rule --add app="^Steam Helper$" space=games manage=off
|
|
|
|
# Advanced Window rules
|
|
yabai -m rule --add app="^(Calculator|Rechner|System Preferences|Systemeinstellungen|Einstellungen|System Settings|Preferences|Aktivitätsanzeige|Archive Utility)$" manage=off
|
|
yabai -m rule --add app="^mpv$" manage=off border=off sticky=on layer=above opacity=1.0 grid=8:8:6:0:2:2
|
|
yabai -m rule --add app="^(JetBrains Toolbox|PyCharm)$" manage=off
|
|
yabai -m rule --add app="^(Karten|FaceTime|Home|Kalender|Kontakte|Erinnerungen|Notizen)$" manage=off
|
|
yabai -m rule --add app="^choose$" manage=off
|
|
|
|
# show digital colour meter topmost and on all spaces
|
|
yabai -m rule --add app="^Digital Colou?r Meter$" sticky=on
|
|
|
|
# refresh my Übersicht bar when the space changes
|
|
yabai -m signal --add event=space_changed \
|
|
action="osascript -e 'tell application \"Übersicht\" to refresh widget id \"spaces-widget\"'"
|
|
|
|
# signals
|
|
yabai -m signal --add event=window_destroyed active=yes action="yabai -m query --windows --window &> /dev/null || yabai -m window --focus mouse &> /dev/null || yabai -m window --focus \$(yabai -m query --windows --space | jq .[0].id) &> /dev/null"
|
|
yabai -m signal --add event=window_minimized active=yes action="if \$(yabai -m query --windows --window \$YABAI_WINDOW_ID | jq -r '.\"is-floating\"'); then yabai -m query --windows --window &> /dev/null || yabai -m window --focus mouse &> /dev/null || yabai -m window --focus \$(yabai -m query --windows --space | jq .[0].id) &> /dev/null; fi"
|
|
|
|
# specific space settings
|
|
yabai -m config --space mail layout stack
|
|
yabai -m config --space games layout float
|
|
|
|
# global settings
|
|
yabai -m config \
|
|
mouse_follows_focus off \
|
|
focus_follows_mouse autoraise \
|
|
window_origin_display default \
|
|
window_placement second_child \
|
|
window_zoom_persist on \
|
|
window_topmost off \
|
|
window_shadow on \
|
|
window_animation_duration 0.0 \
|
|
window_animation_frame_rate 120 \
|
|
window_opacity_duration 0.0 \
|
|
active_window_opacity 1.0 \
|
|
normal_window_opacity 0.90 \
|
|
window_opacity off \
|
|
insert_feedback_color 0xffd75f5f \
|
|
active_window_border_color 0xff775759 \
|
|
normal_window_border_color 0xff555555 \
|
|
window_border_width 4 \
|
|
window_border_radius 12 \
|
|
window_border_blur off \
|
|
window_border_hidpi on \
|
|
window_border off \
|
|
split_ratio 0.50 \
|
|
split_type auto \
|
|
auto_balance off \
|
|
top_padding 12 \
|
|
bottom_padding 12 \
|
|
left_padding 12 \
|
|
right_padding 12 \
|
|
window_gap 06 \
|
|
layout bsp \
|
|
mouse_modifier fn \
|
|
mouse_action1 move \
|
|
mouse_action2 resize \
|
|
mouse_drop_action swap
|
|
|
|
echo "yabai configuration loaded.."
|
|
|