-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.yabairc
More file actions
executable file
·97 lines (84 loc) · 4.96 KB
/
.yabairc
File metadata and controls
executable file
·97 lines (84 loc) · 4.96 KB
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
#!/usr/bin/env sh
# yabai -m config debug_output on
yabai -m config \
mouse_follows_focus off \
focus_follows_mouse off \
window_origin_display default \
window_placement second_child \
window_zoom_persist on \
window_shadow on \
window_opacity_duration 0.0 \
active_window_opacity 1.0 \
normal_window_opacity 0.90 \
window_opacity off \
insert_feedback_color 0xffd75f5f \
split_ratio 0.50 \
split_type auto \
auto_balance on \
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 \
external_bar all:39:0 # +39 for sketchybar
# external_bar all:24:0 # +24 for simple-bar
yabai -m rule --add app="^システム設定$" manage=off
yabai -m rule --add app="^アクティビティモニタ$" manage=off
yabai -m rule --add app="^1Password$" manage=off
yabai -m rule --add app="^JetBrains Toolbox$" manage=off
yabai -m rule --add app="^Logi Options" manage=off
yabai -m rule --add app="^Karabiner" manage=off
yabai -m rule --add app="^Karabiner-EventViewer" manage=off
yabai -m rule --add app="^KeyCastr" manage=off
yabai -m rule --add app="^Structured$" manage=off
yabai -m rule --add app="^Raycast" manage=off
yabai -m rule --add app="^Inkdrop$" space=^1
yabai -m rule --add app="^Slack$" space=^2
yabai -m rule --add app="^Arc$" space=^3
yabai -m rule --add app="^Arc$" title="^$" mouse_follows_focus=off
yabai -m rule --add app="^(Arc)$" subrole="^AXSystemDialog$" manage=off mouse_follows_focus=off
# yabai -m rule --add app="^Google Chrome$" space=4
yabai -m rule --add app="^WezTerm$" space=^4
yabai -m rule --add app="^Code$" space=^5
yabai -m rule --add app="^RubyMine" manage=off
yabai -m rule --add app="^WebStorm" manage=off
yabai -m rule --add app="^CLion" manage=off
yabai -m rule --add app="^IntelliJ IDEA" manage=off
yabai -m rule --add app="^GoLand$" manage=off
yabai -m rule --add app="^GoLand-EAP$" manage=off
yabai -m rule --add app="^GoLand" title=".* – .*" manage=on
yabai -m rule --add app="^RubyMine" title=".* – .*" manage=on
yabai -m rule --add app="^WebStorm" title=".* – .*" manage=on
yabai -m rule --add app="^CLion" title=".* – .*" manage=on
yabai -m rule --add app="^Intellij IDEA" title=".* – .*" manage=on
yabai -m rule --add app="^Spotify$" space=^6
# floating little arc
yabai -m rule --add app="^Arc$" title="^Space 1" manage=off
# focus window after active space changes
# yabai -m signal --add event=space_changed action="yabai -m window --focus \$(yabai -m query --windows --space | jq .[0].id)"
# yabai -m signal --add event=space_changed action="yabai -m window --focus \$(yabai -m query --windows --space | jq -r '[.[]|select(.\"is-visible\")][0].id')"
# exclude "AXSystemDialog" for avoiding Arc PinP window
yabai -m signal --add event=space_changed action="yabai -m window --focus \$(yabai -m query --windows --space | jq -r '[.[]|select(contains({subrole:\"AXSystemDialog\"})|not)|select(.\"is-visible\")][0].id')"
# for debug
# yabai -m signal --add event=window_focused action="echo \"focus:\" \$YABAI_WINDOW_ID >> ~/yabai_debug.log"
# yabai -m signal --add event=space_changed action="echo \"space:\" \$YABAI_RECENT_SPACE_INDEX \"->\" \$YABAI_SPACE_INDEX >> ~/yabai_debug.log"
# focus window after active display changes
# yabai -m signal --add event=display_changed action="yabai -m window --focus \$(yabai -m query --windows --space | jq .[0].id)"
# focus window when open new window
yabai -m signal --add event=window_created action="yabai -m window --focus \$YABAI_WINDOW_ID"
# for sketchybar
yabai -m signal --add event=window_focused action="sketchybar --trigger window_focus"
yabai -m signal --add event=window_created action="sketchybar --trigger windows_on_spaces"
yabai -m signal --add event=window_destroyed action="sketchybar --trigger windows_on_spaces"
# add for me
yabai -m signal --add event=application_activated action="sketchybar --trigger windows_on_spaces"
yabai -m signal --add event=window_focused action="sketchybar --trigger windows_on_spaces"
# setup JankyBorder (use `brew services start borders` and settings in .bordersrc)
# borders active_color=0xcc00ff80 width=6.0 &
yabai -m signal --add event=window_focused action='[ "$(yabai -m query --windows --window | jq -r ".[\"is-floating\"]")" = "false" ] && { borders active_color=0xc000ff80; :; } || borders active_color=0xc0ffff00'
echo "yabai configuration loaded..."