#!/usr/bin/env sh

# wiki 要求在配置最前面加这个，看起来是跟 sudo 权限相关的东西
sudo yabai --load-sa
yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa"

## 输出 debug 日志，出问题时方便排查
yabai -m config debug_output on

# 窗口平铺
yabai -m space --layout bsp
# 默认拆分规则 first_child second_child
yabai -m config window_placement             second_child
# 窗口间距设置
yabai -m config top_padding                  10
yabai -m config bottom_padding               10
yabai -m config left_padding                 10
yabai -m config right_padding                10
yabai -m config window_gap                   10
# 自动平衡所有窗口始终占据相同的空间
yabai -m config auto_balance                 off
# 如果禁用自动平衡，此项属性定义的是新窗口占用的空间量。0.5意为旧窗口占用50%
yabai -m config split_ratio                 0.50
# 鼠标修饰键 意思就是按着这个键就可以使用鼠标单独修改窗口大小了
yabai -m config mouse_modifier ctrl
# ctrl + 鼠标左键 移动窗口
yabai -m config mouse_action1 move
# ctrl + 鼠标右键 调整窗口大小
yabai -m config mouse_action2 resize
# 焦点跟随鼠标 默认off: 关闭  autoraise:自动提升 autofocus: 自动对焦
yabai -m config focus_follows_mouse          autofocus
# 设置鼠标是否跟随当前活动窗口 默认 off: 关闭 on: 开启
yabai -m config mouse_follows_focus          on

# 修改窗口阴影 on: 打开 off: 关闭 float: 只显示浮动窗口的阴影
yabai -m config window_shadow                float

# 窗口透明度设置
yabai -m config window_opacity               on
# 配置活动窗口不透明度
yabai -m config active_window_opacity        0.98
yabai -m config normal_window_opacity        0.9
yabai -m config window_opacity_duration      0.0


# 在所有显示器上的每个空间顶部添加 0 填充 底部添加 0 填充
yabai -m config external_bar all:0:0

# ================================ 规则 ================================
# 打开系统偏好设置，不使用平铺模式
yabai -m rule --add app="^系统偏好设置$" manage=off
yabai -m rule --add app="^提醒事项$" manage=off
yabai -m rule --add app="^关于本机$" manage=off
# float system preferences
yabai -m rule --add app="^System Preferences$" manage=off
# show digital colour meter topmost and on all spaces
yabai -m rule --add app="^Digital Colou?r Meter$" sticky=on

echo "yabai configuration loaded.."
