-
Notifications
You must be signed in to change notification settings - Fork 0
/
yabairc.symlink
executable file
·76 lines (58 loc) · 3.01 KB
/
yabairc.symlink
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/usr/bin/env sh
# the scripting-addition must be loaded manually if
# you are running yabai on macOS Big Sur. Uncomment
# the following line to have the injection performed
# when the config is executed during startup.
#
# 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)
#
# Unload the macOS WindowManager process
launchctl unload -F /System/Library/LaunchAgents/com.apple.WindowManager.plist > /dev/null 2>&1 &
# events
yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa"
sudo yabai --load-sa
# global settings
yabai -m config mouse_follows_focus off
yabai -m config focus_follows_mouse off
yabai -m config window_placement second_child
yabai -m config window_opacity off
yabai -m config window_opacity_duration 0.0
yabai -m config window_shadow float
yabai -m config active_window_opacity 1.0
yabai -m config normal_window_opacity 0.90
yabai -m config split_ratio 0.50
yabai -m config auto_balance off
# general space settings
yabai -m config layout bsp
yabai -m config left_padding 5
yabai -m config right_padding 5
yabai -m config top_padding 2
yabai -m config bottom_padding 2
yabai -m config window_gap 5
yabai -m config --space 4 layout stack
# exclude apps
yabai -m rule --add app='^System Information$' manage=off
yabai -m rule --add app='^System Preferences$' manage=off
yabai -m rule --add title='Preferences$' manage=off
yabai -m rule --add title='Settings$' manage=off
yabai -m rule --add app='^Calculator$' manage=off
yabai -m rule --add app='Clock' manage=off
yabai -m rule --add app="^Raycast$" label="Raycast" manage=off
yabai -m rule --add app="Stats" manage=off
yabai -m rule --add app="System Settings" manage=off
yabai -m rule --add app="^Safari$" title="^(General|(Tab|Password|Website|Extension)s|AutoFill|Se(arch|curity)|Privacy|Advance)$" manage=off
yabai -m rule --add app="^Arc$" title="^(General|Kiarash|Max|Shortcuts|Links|Advance)$" manage=off
yabai -m rule --apply
# defining default spaces for apps
# space 1
yabai -m signal --add event="application_launched" app="^WezTerm$" action="yabai -m window --space 1 && yabai -m space --focus 1"
yabai -m signal --add event="application_launched" app="^Arc$" action="yabai -m window --space 1 && yabai -m space --focus 1"
# space 4
yabai -m signal --add event="application_launched" app="^Calendar$" action="yabai -m window --space 4 && yabai -m space --focus 4"
yabai -m signal --add event="application_launched" app="^Slack$" action="yabai -m window --space 4 && yabai -m space --focus 4"
yabai -m signal --add event="application_launched" app="^Obsidian$" action="yabai -m window --space 4 && yabai -m space --focus 4"
echo "yabai configuration loaded.."