From 740bb568ec43f6290e7372a84c4817a84a51476e Mon Sep 17 00:00:00 2001 From: Leni Aniva Date: Mon, 28 Aug 2023 17:38:02 -0700 Subject: [PATCH 1/2] Add skhd and yabai --- README-MacOS.org | 23 +++++++++++++++++++++++ skhd/skhdrc | 43 +++++++++++++++++++++++++++++++++++++++++++ yabai/yabairc | 26 ++++++++++++++++++++++++++ 3 files changed, 92 insertions(+) create mode 100644 README-MacOS.org create mode 100644 skhd/skhdrc create mode 100755 yabai/yabairc diff --git a/README-MacOS.org b/README-MacOS.org new file mode 100644 index 0000000..bf42a91 --- /dev/null +++ b/README-MacOS.org @@ -0,0 +1,23 @@ +# Desktop Environment for MacOS + +* Installation + +Install Homebrew. + +* Desktop Manager + +- [[https://github.com/koekeishiya/yabai][yabai]]: Window manager, see [[https://github.com/koekeishiya/yabai/wiki][setup guide]] + + To avoid space rearranging automatically, go to + /System Settings - Desktop & Dock - Mission Control - Automatically rearrange Spaces .../ + and uncheck. +- [[https://github.com/koekeishiya/skhd][skhd]]: Hotkey manager + + See [[https://github.com/koekeishiya/skhd/issues/1][this guide]] for keybindings + + ~fn~ key is used as the workspace leader key and ~cmd~ key is used as window + leader key. The reason is that ~fn~ and arrow key combinations disable arrow + keys for other applications. +- ~Karabiner-elements~: Install and remap caps lock to meh key. +-[[https://github.com/felixhageloh/uebersicht][ Uebersicht]]: Widgets manager +- [[https://github.com/Jean-Tinland/simple-bar][simple-bar]]: Status bar (see page for installation guide) diff --git a/skhd/skhdrc b/skhd/skhdrc new file mode 100644 index 0000000..e95c8a0 --- /dev/null +++ b/skhd/skhdrc @@ -0,0 +1,43 @@ +# Bind caps lock to meh (cmd + alt + ctrl). + +# Windows +meh - right : yabai -m window --focus east +meh - left : yabai -m window --focus west +meh - up : yabai -m window --focus north +meh - down : yabai -m window --focus south +hyper - right : yabai -m window --swap east +hyper - left : yabai -m window --swap west +hyper - up : yabai -m window --swap north +hyper - down : yabai -m window --swap south + +meh - f : yabai -m window --toggle native-fullscreen +meh - v : yabai -m window --toggle float +meh - s : yabai -m window --toggle sticky +meh - 0x2C : yabai -m window --toggle split +meh - q : yabai -m window --close + +# Spaces + +#meh - n : yabai -m space --create && \ +# index="$(yabai -m query --spaces --display | jq 'map(select(."is-native-fullscreen" == false))[-1].index')" && \ +# yabai -m window --space "${index}" && \ +# yabai -m space --focus "${index}" +#meh - n : yabai -m space --destroy +meh - 1 : yabai -m space --focus 1 +meh - 2 : yabai -m space --focus 2 +meh - 3 : yabai -m space --focus 3 +meh - 4 : yabai -m space --focus 4 +meh - 5 : yabai -m space --focus 5 +meh - 6 : yabai -m space --focus 6 +meh - 7 : yabai -m space --focus 7 +meh - 8 : yabai -m space --focus 8 +meh - 9 : yabai -m space --focus 9 +hyper - 1 : yabai -m window --space 1 +hyper - 2 : yabai -m window --space 2 +hyper - 3 : yabai -m window --space 3 +hyper - 4 : yabai -m window --space 4 +hyper - 5 : yabai -m window --space 5 +hyper - 6 : yabai -m window --space 6 +hyper - 7 : yabai -m window --space 7 +hyper - 8 : yabai -m window --space 8 +hyper - 9 : yabai -m window --space 9 diff --git a/yabai/yabairc b/yabai/yabairc new file mode 100755 index 0000000..d30702b --- /dev/null +++ b/yabai/yabairc @@ -0,0 +1,26 @@ +#!/bin/bash + +yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa" +sudo yabai --load-sa + +yabai -m config \ + layout bsp \ + focus_follows_mouse off \ + mouse_follows_focus off \ + auto_balance off \ + top_padding 20 \ + bottom_padding 20 \ + left_padding 20 \ + right_padding 20 \ + window_gap 10 \ + external_bar main:20:0 \ + window_opacity on \ + active_window_opacity 0.95 \ + normal_window_opacity 0.7 \ + window_border on \ + normal_window_border_color 0x44444444 \ + active_window_border_color 0x4444ffff \ + window_border_width 1 \ + window_border_radius 12 \ + && +echo "yabairc reloaded" From 962577c6b14509aeb8d790144de3d36360da0cf2 Mon Sep 17 00:00:00 2001 From: Leni Aniva Date: Sun, 17 Sep 2023 14:18:25 -0700 Subject: [PATCH 2/2] Add comment in README-MacOS.org --- README-MacOS.org | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README-MacOS.org b/README-MacOS.org index bf42a91..34b5900 100644 --- a/README-MacOS.org +++ b/README-MacOS.org @@ -18,6 +18,7 @@ Install Homebrew. ~fn~ key is used as the workspace leader key and ~cmd~ key is used as window leader key. The reason is that ~fn~ and arrow key combinations disable arrow keys for other applications. -- ~Karabiner-elements~: Install and remap caps lock to meh key. --[[https://github.com/felixhageloh/uebersicht][ Uebersicht]]: Widgets manager +- ~Karabiner-elements~: Install and remap Caps Lock to Meh key. This is the + master key for window operations in ~yabai~. +- [[https://github.com/felixhageloh/uebersicht][Uebersicht]]: Widgets manager - [[https://github.com/Jean-Tinland/simple-bar][simple-bar]]: Status bar (see page for installation guide)