This repository contains my personal SketchyBar, Yabai and Skhd configurations.
# --- install yabai, skhd, jq and all
brew tap homebrew/cask-fonts
brew install koekeishiya/formulae/yabai
brew install jq
brew install koekeishiya/formulae/skhd
brew install gh #(gh auth login for notifications)
brew install --cask sf-symbols
brew install --cask font-hack-nerd-font
# Installing Fonts
git clone [email protected]:shaunsingh/SFMono-Nerd-Font-Ligaturized.git /tmp/SFMono_Nerd_Font
mv /tmp/SFMono_Nerd_Font/* $HOME/Library/Fonts
rm -rf /tmp/SFMono_Nerd_Font/
curl -L https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v1.0.3/sketchybar-app-font.ttf -o $HOME/Library/Fonts/sketchybar-app-font.ttf
# macOS Settings
echo "Changing macOS defaults..."
defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
defaults write com.apple.spaces spans-displays -bool false
defaults write com.apple.dock autohide -bool true
defaults write com.apple.dock "mru-spaces" -bool "false"
defaults write NSGlobalDomain NSAutomaticWindowAnimationsEnabled -bool false
defaults write com.apple.LaunchServices LSQuarantine -bool false
defaults write NSGlobalDomain com.apple.swipescrolldirection -bool false
defaults write NSGlobalDomain KeyRepeat -int 1
defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
defaults write NSGlobalDomain _HIHideMenuBar -bool true
defaults write NSGlobalDomain AppleHighlightColor -string "0.65098 0.85490 0.58431"
defaults write NSGlobalDomain AppleAccentColor -int 1
defaults write com.apple.screencapture location -string "$HOME/Desktop"
defaults write com.apple.screencapture disable-shadow -bool true
defaults write com.apple.screencapture type -string "png"
defaults write com.apple.finder DisableAllAnimations -bool true
defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool false
defaults write com.apple.finder ShowHardDrivesOnDesktop -bool false
defaults write com.apple.finder ShowMountedServersOnDesktop -bool false
defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool false
defaults write com.apple.Finder AppleShowAllFiles -bool true
defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
defaults write com.apple.finder FXPreferredViewStyle -string "Nlsv"
defaults write com.apple.finder ShowStatusBar -bool false
defaults write com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool YES
defaults write com.apple.Safari AutoOpenSafeDownloads -bool false
defaults write com.apple.Safari IncludeDevelopMenu -bool true
defaults write com.apple.Safari WebKitDeveloperExtrasEnabledPreferenceKey -bool true
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled -bool true
defaults write NSGlobalDomain WebKitDeveloperExtras -bool true
defaults write com.apple.mail AddressesIncludeNameOnPasteboard -bool false
# --- Remove previous links
rm -f "${HOME}"/.{yabai,skhd}rc
# --- Install configs
git clone https://github.com/zer0yu/dotfiles.git "${HOME}"/.config/dotfiles
ln -s "${HOME}/.config/dotfiles/yabai/yabairc" "${HOME}/.yabairc"
ln -s "${HOME}/.config/dotfiles/skhd/skhdrc" "${HOME}/.skhdrc"
ln -s "${HOME}/.config/dotfiles/sketchybar" "${HOME}/.config/sketchybar"
# 需要手动修改 .yabairc 和 .skhdrc 文件中的 .sh 脚本路径
# Start Services
brew services start skhd
brew services start fyabai
brew services start sketchybar
(optional) add to .zshrc
# Sketchybar interactivity overloads
function brew() {
command brew "$@"
if [[ $* =~ "upgrade" ]] || [[ $* =~ "update" ]] || [[ $* =~ "outdated" ]]; then
sketchybar --trigger brew_update
fi
}
# Fancy sketchybar commands
function margin () {
if [ $1 = "on" ]; then
yabai -m config top_padding 20
sketchybar --animate sin 30 --bar margin=10 y_offset=10 corner_radius=9
else
yabai -m config top_padding 10
sketchybar --animate sin 30 --bar margin=0 y_offset=0 corner_radius=0
fi
}
function zen () {
~/.config/sketchybar/plugins/zen.sh $1
}
function suyabai () {
SHA256=$(shasum -a 256 /opt/homebrew/bin/yabai | awk "{print \$1;}")
sudo sed -i '' -e 's/sha256:[[:alnum:]]*/sha256:'${SHA256}'/' /private/etc/sudoers.d/yabai
}
ctrl + alt + cmd + r
cmd + f3
alt + cmd + space
Action | Key Combination |
---|---|
Move left | ctrl + alt + cmd + left |
Move right | ctrl + alt + cmd + right |
Move up | ctrl + alt + cmd + up |
Move down | ctrl + alt + cmd + down |
Action | Key Combination |
---|---|
Focus left | alt + cmd + left |
Focus right | alt + cmd + right |
Focus up | alt + cmd + up |
Focus down | alt + cmd + down |
Action | Key Combination |
---|---|
Resize left | ctrl + alt + cmd + home |
Resize right | ctrl + alt + cmd + end |
Resize up | ctrl + alt + cmd + pageUp |
Resize down | ctrl + alt + cmd + pageDown |
Action | Key Combination |
---|---|
Stack left | shift + alt + cmd + left |
Stack right | shift + alt + cmd + right |
Action | Key Combination |
---|---|
Focus up | shift + alt + cmd + up |
Focus down | shift + alt + cmd + down |
ctrl + alt + cmd + space
Action | Key Combination |
---|---|
Move left | alt + cmd + left |
Move right | alt + cmd + right |
full screen | alt + cmd + up |
place window to screen center | alt + cmd + down |
Move up left | alt + cmd + home |
Move down right | alt + cmd + end |
Move up right | alt + cmd + pageUp |
Move down left | alt + cmd + pageDown |
Action | Key Combination |
---|---|
Send to prev space | ctrl + cmd + left |
Send to next space | ctrl + cmd + right |
Send to space (1-9) | ctrl + cmd + 1 - 9 |
Action | Key Combination |
---|---|
Send to prev monitor | ctrl + alt + left |
Send to next monitor | ctrl + alt + right |
Action | Key Combination |
---|---|
Focus monitor 1 | ctrl + alt + 1 |
Focus monitor 2 | ctrl + alt + 2 |
Focus monitor 3 | ctrl + alt + 3 |
Action | Key Combination |
---|---|
Window rotate clockwise | alt + cmd + r |
Window rotate anticlockwise | shift + alt + cmd + r |
Window Equalize size | alt + cmd + | |
Enable / Disable gaps | alt + cmd + g |