-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathskhdrc
More file actions
120 lines (98 loc) · 4.35 KB
/
Copy pathskhdrc
File metadata and controls
120 lines (98 loc) · 4.35 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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# NOTE: Rememebr other mappings are defined in Karabiner Elements
fn - r : yabai --stop-service && yabai --start-service && sudo yabai --load-sa
ctrl - h [
* : yabai -m window --focus west || $(yabai -m display --focus west) || $(yabai -m space --focus prev)
"Wezterm" ~
"Kitty" ~
"Terminal" ~
]
ctrl - j [
* : yabai -m window --focus south || $(yabai -m display --focus south)
"Wezterm" ~
"Kitty" ~
"Terminal" ~
]
ctrl - k [
* : yabai -m window --focus north || $(yabai -m display --focus north)
"Wezterm" ~
"Kitty" ~
"Terminal" ~
]
ctrl - l [
* : yabai -m window --focus east || $(yabai -m display --focus east) || $(yabai -m space --focus next)
"Wezterm" ~
"Kitty" ~
"Terminal" ~
]
# 1 of my sourcess
# https://digitalblake.com/2021/08/27/yabai-and-skhd-configs/
# Changing window focus
# shift + ctrl - j : yabai -m window --focus south
# shift + ctrl - k : yabai -m window --focus north
# shift + ctrl - h : yabai -m window --focus west
# shift + ctrl - l : yabai -m window --focus east
fn + shift - r : \
/usr/bin/env osascript <<< \
"display notification \"Restarting Yabai\" with title \"Yabai\""; \
launchctl kickstart -k "gui/${UID}/homebrew.mxcl.yabai"
fn - r :yabai --stop-service && yabai --start-service && sudo yabai --load-sa
# make window fill screen
fn - f : yabai -m window --toggle zoom-fullscreen
# Make window native fullscreen
shift + fn - f : yabai -m window --toggle native-fullscreen
# space focus
fn + ctrl - l : yabai -m space --focus next
fn + ctrl - h : yabai -m space --focus prev
# Moving windows
shift + fn - k : \
current_win=$(yabai -m query --windows --window | jq -r '.id') && \
(yabai -m window --warp north || (yabai -m window --display north; yabai -m display --focus north)); \
yabai -m window --focus $current_win
shift + fn - h : \
current_win=$(yabai -m query --windows --window | jq -r '.id') && \
(yabai -m window --warp west || (yabai -m window --display west; yabai -m display --focus west) || (yabai -m window --space prev && yabai -m space --focus prev)); \
yabai -m window --focus $current_win
shift + fn - j : \
current_win=$(yabai -m query --windows --window | jq -r '.id') && \
(yabai -m window --warp south || (yabai -m window --display south; yabai -m display --focus south)); \
yabai -m window --focus $current_win
shift + fn - l : \
current_win=$(yabai -m query --windows --window | jq -r '.id') && \
(yabai -m window --warp east || (yabai -m window --display east; yabai -m display --focus east) || (yabai -m window --space next && yabai -m space --focus next)); \
yabai -m window --focus $current_win
# Swapping windows in different spaces
fn - l : ~/dotfiles/yabai/swap_right.sh
fn - h : ~/dotfiles/yabai/swap_left.sh
# Resize windows
# shift + ctrl - h : yabai -m window --resize left:-50:0; \
# yabai -m window --resize right:-50:0
# shift + ctrl - j : yabai -m window --resize bottom:0:50; \
# yabai -m window --resize top:0:50
# shift + ctrl - k : yabai -m window --resize top:0:-50; \
# yabai -m window --resize bottom:0:-50
# shift + ctrl - l : yabai -m window --resize right:50:0; \
# yabai -m window --resize left:50:0
# toggle window float
shift + ctrl - f : yabai -m window --toggle float
# # SPACE CONTROL
#
# remove the current desktop space
fn - d : yabai -m query --spaces --space | jq '.index' | read cur && if [ "$cur" -gt 1 ]; then yabai -m space --focus prev && sleep 0.1 && yabai -m query --spaces --space | jq '.index' | read new && if [ "$new" -eq "$((cur-1))" ]; then yabai -m space --destroy "$cur"; else yabai -m space --destroy; fi; else yabai -m space --destroy; fi
# fn - d : yabai -m space --focus recent && sleep 1 && yabai -m space recent --destroy
# create a new desktop space and move focus to it
fn - n : yabai -m space --create && yabai -m space --focus last
fn -s : open -a "Mission Control" --args -s
ctrl - w : open -a "Mission Control" --args -s
# layout restoration
#
# Save layout to file
fn + shift - s : ~/.config/yabai/save_layout.sh
# Restore layout from file
fn + shift - r : ~/.config/yabai/restore_layout.sh
# open apps
fn - t : open -a "WezTerm"
fn - b : open -a "LibreWolf"
fn - g : open -a "ChatGPT"
fn - m : open -a "Mail"
# stop (pause) yabai service
fn - p : yabai --stop-service