-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.yabairc
105 lines (73 loc) · 3.02 KB
/
.yabairc
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#!/usr/bin/env sh
## STARTUP SCRIPT ##
# 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)
#
# TODO: Not working
sudo yabai --load-sa
yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa"
## GLOBAL SETTINGS
# Automatically focus on window under mouse
yabai -m config mouse_follows_focus off
yabai -m config focus_follows_mouse autofocus
## TILING ##
# New window spawns to the right if vertical split, or bottom if horizontal split
yabai -m config window_placement second_child
# floating windows are always on top (default: off)
yabai -m config window_topmost off
# Turn off window opacity for inactive windows, but leave shadow on
yabai -m config window_opacity off
yabai -m config window_opacity_duration 0.0
# modify window shadows (default: on, options: on, off, float)
yabai -m config window_shadow on
# Turn on window opacity for active windows
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
## MOUSE SUPPORT ##
# set mouse interaction modifier key (default: fn)
yabai -m config mouse_modifier alt
# set modifier + left-click drag to move window (default: move)
yabai -m config mouse_action1 move
yabai -m config mouse_action2 resize
# SPACE SETTINGS
# Layout in tile using binary space partitioning algorithm
yabai -m config layout bsp
# Remove all padding from windows
yabai -m config bottom_padding 0
yabai -m config left_padding 0
yabai -m config right_padding 0
yabai -m config window_gap 0
# float system preferences
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
# float settings windows
yabai -m rule --add title='Settings$' manage=off
## BAR SETTINGS ##
# Remove all padding from top
yabai -m config top_padding 0
SPACEBAR_HEIGHT=$(spacebar -m config height)
yabai -m config external_bar all:$SPACEBAR_HEIGHT:0
## APP DEFAULT SPACES ##
# Superhuman/Cron in Space 1
yabai -m rule --add app="^(Superhuman)$" space=1
yabai -m rule --add app="^(Cron)$" space=1
# Messaging in Space 2
yabai -m rule --add app="^(Messages)$" space=2
yabai -m rule --add app="^(Slack)$" space=2
# Notion in space 3
yabai -m rule --add app="^(Notion)$" space=3
# Chrome in Space 4
yabai -m rule --add app="^(Chrome)$" space=4
# iTerm in Space 5
yabai -m rule --add app="^(iTerm)$" space=5