Add macOS specific configuration files #1

Merged
aniva merged 2 commits from macOS into main 2023-09-17 14:21:44 -07:00
3 changed files with 93 additions and 0 deletions

24
README-MacOS.org Normal file
View File

@ -0,0 +1,24 @@
# 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. 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)

43
skhd/skhdrc Normal file
View File

@ -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

26
yabai/yabairc Executable file
View File

@ -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"