Add initial config and install for macos window manager

This commit is contained in:
david pickle 2025-02-03 01:42:38 -06:00
parent 5994f111eb
commit 3adb5f5b88
3 changed files with 80 additions and 2 deletions

View File

@ -1,4 +1,13 @@
#!/bin/zsh
# TODO: pick wm; linux options: dwm, i3, others? macos options: yabai, others?
# ${=BOX_SETUP_INSTALL_COMMAND} zxcv-placeholder
local linux_wm_and_utils() {
# TODO: pick wm for linux; options: dwm, i3, others?
echo "linux_wm_and_utils not yet implemented"
}
local macos_wm_and_utils() {
brew install koekeishiya/formulae/yabai
brew install koekeishiya/formulae/skhd
}
[[ "$BOX_SETUP_OS" = "macos" ]] && macos_wm_and_utils || linux_wm_and_utils

34
src_files/.config/skhd/skhdrc Executable file
View File

@ -0,0 +1,34 @@
# staring file was at /opt/homebrew/opt/yabai/share/yabai/examples
# list of built-in keywords at https://github.com/koekeishiya/skhd/issues/1
# in managed mode: swap current window
shift + cmd - k : yabai -m window --swap north
shift + cmd - j : yabai -m window --swap south
shift + cmd - h : yabai -m window --swap west
shift + cmd - l : yabai -m window --swap east
# move focused window to the given space
shift + cmd - 1 : yabai -m window --space 1
shift + cmd - 2 : yabai -m window --space 2
shift + cmd - 3 : yabai -m window --space 3
shift + cmd - 4 : yabai -m window --space 4
shift + cmd - 5 : yabai -m window --space 5
shift + cmd - 6 : yabai -m window --space 6
shift + cmd - 7 : yabai -m window --space 7
shift + cmd - 8 : yabai -m window --space 8
shift + cmd - 9 : yabai -m window --space 9
# balance window sizes
shift + cmd - 0 : yabai -m space --balance
# all windows in a space back to the grid (managed)
shift + cmd - g : yabai -m space --layout bsp
# all windows in a space to float and each fill screen
shift + cmd - f : yabai -m space --layout float \
| yabai -m query --windows --space \
| jq '.[].id' \
| xargs -I % yabai -m window % --grid 1:1:0:0:1:1
# focus on next/previous window
shift + cmd - n : yabai -m window --focus next
shift + cmd - p : yabai -m window --focus prev

35
src_files/.config/yabai/yabairc Executable file
View File

@ -0,0 +1,35 @@
#!/usr/bin/env sh
# global settings
yabai -m config \
external_bar off:40:0 \
menubar_opacity 1.0 \
mouse_follows_focus off \
focus_follows_mouse off \
display_arrangement_order default \
window_origin_display default \
window_placement second_child \
window_insertion_point focused \
window_zoom_persist on \
window_shadow on \
window_animation_duration 0.0 \
window_animation_easing ease_out_circ \
window_opacity_duration 0.0 \
active_window_opacity 1.0 \
normal_window_opacity 0.90 \
window_opacity off \
insert_feedback_color 0xffd75f5f \
split_ratio 0.70 \
split_type auto \
auto_balance off \
top_padding 00 \
bottom_padding 00 \
left_padding 00 \
right_padding 00 \
window_gap 00 \
layout bsp \
mouse_modifier fn \
mouse_action1 move \
mouse_action2 resize \
mouse_drop_action swap