diff --git a/mac/.config/skhd/skhdrc b/mac/.config/skhd/skhdrc new file mode 100644 index 00000000..c813947b --- /dev/null +++ b/mac/.config/skhd/skhdrc @@ -0,0 +1,58 @@ +# Open Terminal +cmd - return : ~/.config/yabai/open-iterm2.sh + +# Navigation +cmd - h : yabai -m window --focus west +cmd - j : yabai -m window --focus south +cmd - k : yabai -m window --focus north +cmd - l : yabai -m window --focus east +# Focus workspace +cmd - 1 : yabai -m space --focus 1 +cmd - 2 : yabai -m space --focus 2 +cmd - 3 : yabai -m space --focus 3 +cmd - 4 : yabai -m space --focus 4 +cmd - 5 : yabai -m space --focus 5 +cmd - 6 : yabai -m space --focus 6 +cmd - 7 : yabai -m space --focus 7 +cmd - 8 : yabai -m space --focus 8 + +# Moving windows +cmd + shift - h : yabai -m window --warp west +cmd + shift - j : yabai -m window --warp south +cmd + shift - k : yabai -m window --warp north +cmd + shift - l : yabai -m window --warp east +# Resize windows +lctrl + cmd - h : \ + yabai -m window --resize left:-20:0 ; \ + yabai -m window --resize right:-20:0 +lctrl + cmd - j : \ + yabai -m window --resize bottom:0:20 ; \ + yabai -m window --resize top:0:20 +lctrl + cmd - k : \ + yabai -m window --resize bottom:0:-20 ; \ + yabai -m window --resize top:0:-20 ; +lctrl + cmd - l : \ + yabai -m window --resize left:20:0 ; \ + yabai -m window --resize right:20:0 +# Move focus container to workspace +cmd + shift - 1 : yabai -m window --space 1 +cmd + shift - 2 : yabai -m window --space 2 +cmd + shift - 3 : yabai -m window --space 3 +cmd + shift - 4 : yabai -m window --space 4 +cmd + shift - 5 : yabai -m window --space 5 +cmd + shift - 6 : yabai -m window --space 6 +cmd + shift - 7 : yabai -m window --space 7 +cmd + shift - 8 : yabai -m window --space 8 + +# Float window +lctrl - f : yabai -m window --toggle float +# Fullscreen window +alt + shift - f : yabai -m window --toggle zoom-fullscreen +cmd + shift - f : yabai -m window --toggle native-fullscreen +# Balance space in workspace +cmd + shift - 0 : yabai -m space --balance + +# Restart yabai +cmd + shift - r : \ + skhd -r ; \ + ~/.config/yabai/yabairc diff --git a/mac/.config/yabai/open-iterm2.sh b/mac/.config/yabai/open-iterm2.sh new file mode 100755 index 00000000..3a6825e6 --- /dev/null +++ b/mac/.config/yabai/open-iterm2.sh @@ -0,0 +1,22 @@ +#! /bin/sh +# +# open-iterm2.sh +# Copyright (C) 2020 Vintage Salt +# +# Distributed under terms of the MIT license. +# + +osascriptcmd='tell application "iTerm2" to create window with default profile' +if ! pgrep -f "iTerm" > /dev/null 2>&1; then + echo "Opening iTerm" + open -a "/Applications/iTerm.app" +fi +if osascript -e "$osascriptcmd" > /dev/null 2>&1; then + echo "Opening new iTerm window" +else + echo "Killing iTerm and restarting" + killall "iTerm" + open -a "/Applications/iTerm.app" + osascript -e "$osascriptcmd" +fi + diff --git a/mac/.config/yabai/yabairc b/mac/.config/yabai/yabairc new file mode 100755 index 00000000..0005d1d7 --- /dev/null +++ b/mac/.config/yabai/yabairc @@ -0,0 +1,47 @@ +#!/bin/bash + +# bar settings +yabai -m config status_bar on +yabai -m config status_bar_text_font "Helvetica Neue:Bold:12.0" +yabai -m config status_bar_icon_font "Font Awesome 5 Free:Regular:12.0" +yabai -m config status_bar_background_color 0xff3b4252 +yabai -m config status_bar_foreground_color 0xffd8dee8 +yabai -m config status_bar_space_icon_strip 1 2 3 4 5 6 7 8 9 0 +yabai -m config status_bar_power_icon_strip   +yabai -m config status_bar_space_icon  +yabai -m config status_bar_clock_icon  + +# global settings +yabai -m config mouse_follows_focus on +yabai -m config focus_follows_mouse autofocus +yabai -m config window_placement second_child +yabai -m config window_topmost off +yabai -m config window_opacity off +yabai -m config window_opacity_duration 0.0 +yabai -m config window_shadow off +yabai -m config window_border on +yabai -m config window_border_placement exterior +yabai -m config window_border_width 4 +yabai -m config window_border_radius -1.0 +yabai -m config active_window_border_topmost on +yabai -m config active_window_border_color 0xff81a1c1 +yabai -m config normal_window_border_color 0xff4c566a +yabai -m config insert_window_border_color 0xffebcb8b +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 +yabai -m config mouse_modifier fn +yabai -m config mouse_action1 move +yabai -m config mouse_action2 resize + +# general space settings +yabai -m config layout bsp +yabai -m config top_padding 10 +yabai -m config bottom_padding 10 +yabai -m config left_padding 10 +yabai -m config right_padding 10 +yabai -m config window_gap 10 + +print "Loaded Yabai configuration\n" +