QADXBPZPPIAICY2HTCAZSZYX33TG72CXI2XZOG3DCNMOIXAPWQMQC YJA7TVYPLZCGRYUZVUTSW3I6BOO7EWGKNLWTMUV3VWVSF57B3JAQC 47GPXWYAN5HMMVVIWFEAY63MID4U2UHIBH4HNMDYWNQ2J6E2WX6AC O64A6IJJGMWJYUDR6VUFGYFPWWPN222BEMMLFCMLKDEFO5OVRE4QC MWV72ACT6D63U5I4UUNIO4WK7ZN3Q5WYRI72K3DCKCNWZ22QUR5AC MAIEPZVQNNMHNN5MJ4UVPR5D7M3EE4B6QEBTR7L3KQERPUKOD5IQC QRSG7RJSX5R255Y2HHTLYBXMBR374QS3PV2UJDWK2ZPMG7V66SSAC #!/usr/bin/env shyabai -m config window_placement second_childyabai -m config window_topmost onyabai -m config window_shadow floatyabai -m config window_border offyabai -m config window_opacity offyabai -m config window_border offyabai -m config insert_feedback_color 0xffd75f5fyabai -m config split_ratio 0.50yabai -m config auto_balance onyabai -m config mouse_drop_action swapyabai -m config layout bspyabai -m config top_padding 6yabai -m config bottom_padding 6yabai -m config left_padding 6yabai -m config right_padding 6yabai -m config window_gap 6# allow windows from these applications to floatyabai -m rule --add app="^System Information$" manage=offyabai -m rule --add app="^System Preferences$" manage=offyabai -m rule --add app="^Karabiner-Elements$" manage=offyabai -m rule --add app="^Disk Utility$" manage=offyabai -m rule --add app="^Flux$" manage=offyabai -m rule --add app="^Messages$" manage=off# float iterm window that emulate guake (floats from bottom)yabai -m rule --add app='^iTerm2$' title="^Hotkey Window$" manage=offecho "$(date "+%Y-%m-%d %H:%M:%s") - yabai configuration loaded..."yabai -m rule --add app='sure-zooms' manage=off
#################### WINDOW MANAGEMENT#################### -- focusing within the current "space" --hyper - h : yabai -m window --focus westhyper - j : yabai -m window --focus southhyper - k : yabai -m window --focus northhyper - l : yabai -m window --focus east
{ pkgs, ... }:
# -- rearraging within the current "space" --cmd + alt - h : yabai -m window --warp westcmd + alt - j : yabai -m window --warp southcmd + alt - k : yabai -m window --warp northcmd + alt - l : yabai -m window --warp east
{
cmd + alt - r : yabai -m space --mirror y-axiscmd + alt + shift - r : yabai -m space --rotate 90
xdg.configFile."skhd/skhdrc".text = ''############################################################## Generated by home-manager from nixpkgs.skhdrc in ~/dotfiles# For skhd info see: https://github.com/koekeishiya/skhd#############################################################
# -- resizing --cmd + alt - 0 : yabai -m space --balancecmd + alt - f : yabai -m window --toggle zoom-fullscreencmd + alt + shift - f : yabai -m window --toggle zoom-parenthyper - 0x18 : yabai -m window --toggle zoom-parent
#################### WINDOW MANAGEMENT#################### -- focusing within the current "space" --hyper - h : yabai -m window --focus westhyper - j : yabai -m window --focus southhyper - k : yabai -m window --focus northhyper - l : yabai -m window --focus east
# uses brackets left: [ right: ]cmd + alt - 0x21 : yabai -m window --resize left:-20:0cmd + alt + shift - 0x21 : yabai -m window --resize left:20:0cmd + alt - 0x1E : yabai -m window --resize right:20:0cmd + alt + shift - 0x1E : yabai -m window --resize right:-20:0# uses + and -cmd + alt - 0x1B : yabai -m window --resize top:0:20cmd + alt +shift - 0x1B : yabai -m window --resize top:0:-20cmd + alt - 0x18 : yabai -m window --resize bottom:0:20cmd + alt + shift - 0x18 : yabai -m window --resize bottom:0:-20
# -- rearraging within the current "space" --cmd + alt - h : yabai -m window --warp westcmd + alt - j : yabai -m window --warp southcmd + alt - k : yabai -m window --warp northcmd + alt - l : yabai -m window --warp east
# floating window to left half & right halfcmd + alt - left : yabai -m window --grid 1:2:0:0:1:1cmd + alt - right : yabai -m window --grid 1:2:1:0:1:1
# -- change split type of focused window --cmd + alt - e : yabai -m window --toggle split# -- resizing --cmd + alt - 0 : yabai -m space --balancecmd + alt - f : yabai -m window --toggle zoom-fullscreencmd + alt + shift - f : yabai -m window --toggle zoom-parenthyper - 0x18 : yabai -m window --toggle zoom-parent
# -- moving to another "space" on the current display --cmd + alt - 1 : wid=$($DOTFILES/zsh/functions/yabai_window_id.zsh) yabai -m window --space 1; yabai -m window --focus $widcmd + alt - 2 : wid=$($DOTFILES/zsh/functions/yabai_window_id.zsh) yabai -m window --space 2; yabai -m window --focus $widcmd + alt - 3 : wid=$($DOTFILES/zsh/functions/yabai_window_id.zsh) yabai -m window --space 3; yabai -m window --focus $widcmd + alt - 4 : wid=$($DOTFILES/zsh/functions/yabai_window_id.zsh) yabai -m window --space 4; yabai -m window --focus $widcmd + alt - 5 : wid=$($DOTFILES/zsh/functions/yabai_window_id.zsh) yabai -m window --space 5; yabai -m window --focus $widcmd + alt - 6 : wid=$($DOTFILES/zsh/functions/yabai_window_id.zsh) yabai -m window --space 6; yabai -m window --focus $widcmd + alt - 7 : wid=$($DOTFILES/zsh/functions/yabai_window_id.zsh) yabai -m window --space 7; yabai -m window --focus $widcmd + alt - 8 : wid=$($DOTFILES/zsh/functions/yabai_window_id.zsh) yabai -m window --space 8; yabai -m window --focus $wid
# uses brackets left: [ right: ]cmd + alt - 0x21 : yabai -m window --resize left:-20:0cmd + alt + shift - 0x21 : yabai -m window --resize left:20:0cmd + alt - 0x1E : yabai -m window --resize right:20:0cmd + alt + shift - 0x1E : yabai -m window --resize right:-20:0# uses + and -cmd + alt - 0x1B : yabai -m window --resize top:0:20cmd + alt +shift - 0x1B : yabai -m window --resize top:0:-20cmd + alt - 0x18 : yabai -m window --resize bottom:0:20cmd + alt + shift - 0x18 : yabai -m window --resize bottom:0:-20# -- floating windows --cmd + alt + ctrl - f : yabai -m window --toggle float; \yabai -m window --grid 4:4:1:1:2:2# floating window to left half & right halfcmd + alt - left : yabai -m window --grid 1:2:0:0:1:1cmd + alt - right : yabai -m window --grid 1:2:1:0:1:1# -- moving to another "space" on the current display --cmd + alt - 1 : wid=$($DOTFILES/zsh/functions/yabai_window_id.zsh) yabai -m window --space 1; yabai -m window --focus $widcmd + alt - 2 : wid=$($DOTFILES/zsh/functions/yabai_window_id.zsh) yabai -m window --space 2; yabai -m window --focus $widcmd + alt - 3 : wid=$($DOTFILES/zsh/functions/yabai_window_id.zsh) yabai -m window --space 3; yabai -m window --focus $widcmd + alt - 4 : wid=$($DOTFILES/zsh/functions/yabai_window_id.zsh) yabai -m window --space 4; yabai -m window --focus $widcmd + alt - 5 : wid=$($DOTFILES/zsh/functions/yabai_window_id.zsh) yabai -m window --space 5; yabai -m window --focus $widcmd + alt - 6 : wid=$($DOTFILES/zsh/functions/yabai_window_id.zsh) yabai -m window --space 6; yabai -m window --focus $widcmd + alt - 7 : wid=$($DOTFILES/zsh/functions/yabai_window_id.zsh) yabai -m window --space 7; yabai -m window --focus $widcmd + alt - 8 : wid=$($DOTFILES/zsh/functions/yabai_window_id.zsh) yabai -m window --space 8; yabai -m window --focus $wid# -- moving to another to another display --cmd + ctrl - 1 : yabai -m window --display 1; yabai -m display --focus 1cmd + ctrl - 2 : yabai -m window --display 2; yabai -m display --focus 2cmd + ctrl - 3 : yabai -m window --display 3; yabai -m display --focus 3
# -- moving to another to another display --cmd + ctrl - 1 : yabai -m window --display 1; yabai -m display --focus 1cmd + ctrl - 2 : yabai -m window --display 2; yabai -m display --focus 2cmd + ctrl - 3 : yabai -m window --display 3; yabai -m display --focus 3
# -- focus another display --hyper - 1 : yabai -m display --focus 1hyper - 2 : yabai -m display --focus 2hyper - 3 : yabai -m display --focus 3hyper - b : yabai -m display --focus prev || yabai -m display --focus recenthyper - n : yabai -m display --focus next || yabai -m display --focus recent
# -- focus another display --hyper - 1 : yabai -m display --focus 1hyper - 2 : yabai -m display --focus 2hyper - 3 : yabai -m display --focus 3hyper - b : yabai -m display --focus prev || yabai -m display --focus recenthyper - n : yabai -m display --focus next || yabai -m display --focus recent
# -- stack windows onto each othershift + cmd - b : yabai -m window --focus stack.prev || yabai -m window --focus stack.lastshift + cmd - n : yabai -m window --focus stack.next || yabai -m window --focus stack.firstshift + cmd - h : yabai -m window --stack westshift + cmd - j : yabai -m window --stack southshift + cmd - k : yabai -m window --stack northshift + cmd - l : yabai -m window --stack east
# -- stack windows onto each othershift + cmd - b : yabai -m window --focus stack.prev || yabai -m window --focus stack.lastshift + cmd - n : yabai -m window --focus stack.next || yabai -m window --focus stack.firstshift + cmd - h : yabai -m window --stack westshift + cmd - j : yabai -m window --stack southshift + cmd - k : yabai -m window --stack northshift + cmd - l : yabai -m window --stack east
'';}