Update yabai/skhd settings, minor edits to readme
This commit is contained in:
parent
e533244b33
commit
ac9d14cba4
25
README.md
25
README.md
@ -1,22 +1,27 @@
|
|||||||
# repo containing configs and scripts to set up a box
|
# repo containing configs and scripts to set up a box
|
||||||
|
|
||||||
|
### script run
|
||||||
|
- [prerequisites below are fulfilled]
|
||||||
|
- git clone this repo
|
||||||
|
- from the repo's root directory, run `./box_setup`
|
||||||
|
|
||||||
### prerequisites
|
### prerequisites
|
||||||
- when running on a fresh system, ensure package manager is configured
|
- package manager is configured (i.e. source repos, mirrors, etc. configured)
|
||||||
- i.e. source repos, mirrors, etc. are configured
|
|
||||||
- zsh is installed (scripts are written for zsh)
|
- zsh is installed (scripts are written for zsh)
|
||||||
- ensure sudo access is configured for the current user (2025-01-27, not needed on macos)
|
- sudo access is configured for current user (2025-01-27, not needed on macos)
|
||||||
- export the env var `BOX_SETUP_OS` to indicate the operating system
|
- export the env var `BOX_SETUP_OS` to indicate the operating system
|
||||||
- options defined in `set_script_env_vars` file
|
- options defined in `set_script_env_vars` file
|
||||||
|
- system-specific items below are fulfilled
|
||||||
|
|
||||||
##### prereqs, os specific, linux-placeholder
|
##### prereqs, os specific, linux-placeholder
|
||||||
- (currently none)
|
- (currently none)
|
||||||
|
|
||||||
##### prereqs, os specific, macos
|
##### prereqs, os specific, macos
|
||||||
- have to first install the package manager, [homebrew](https://brew.sh/)
|
- install the package manager, [homebrew](https://brew.sh/)
|
||||||
- for yabai window manager (at least for now, so as to not mess with SIP settings)
|
- for yabai window manager (so as to not mess with SIP settings)
|
||||||
- create 9 spaces/desktops
|
- create 9 spaces/desktops
|
||||||
- in system settings, manually set keyboard shortcuts to switch between spaces
|
- system settings > keyboard shortcuts: set keys to switch between spaces/desktops
|
||||||
- in system settings, for desktop/dock/mission-ctrl:
|
- system settings > desktop/dock/mission-control:
|
||||||
- `click wallpaper to reveal desktop`: set to "only in stage manager"
|
- `click wallpaper to reveal desktop`: set to "only in stage manager"
|
||||||
- all `drag windows to corner/edge/place` types of options: disabled
|
- all `drag windows to corner/edge/place` types of options: disabled
|
||||||
- `rearrange spaces based on recent use`: disabled
|
- `rearrange spaces based on recent use`: disabled
|
||||||
@ -24,11 +29,9 @@
|
|||||||
- `displays have separate spaces`: enabled
|
- `displays have separate spaces`: enabled
|
||||||
- `show files on desktop`: enabled
|
- `show files on desktop`: enabled
|
||||||
|
|
||||||
### script run
|
|
||||||
- git clone this repo (TODO: consider adding logic to handle automatically)
|
|
||||||
- from the repo's root directory, run `./box_setup`
|
|
||||||
|
|
||||||
### todo items
|
### todo items
|
||||||
|
- add logic to the main run script to handle cloning of this repo
|
||||||
|
- add logic to the main run script to set `BOX_SETUP_OS` var, either input param or detect
|
||||||
- config for nvim
|
- config for nvim
|
||||||
- config for mpd, mpc, ncmpcpp
|
- config for mpd, mpc, ncmpcpp
|
||||||
- config for ghostty
|
- config for ghostty
|
||||||
|
1
src_files/.config/ghostty/config
Normal file
1
src_files/.config/ghostty/config
Normal file
@ -0,0 +1 @@
|
|||||||
|
font-feature = -calt, -liga, -dlig
|
@ -1,52 +1,44 @@
|
|||||||
# list of built-in keywords at https://github.com/koekeishiya/skhd/issues/1
|
# list of built-in keywords at https://github.com/koekeishiya/skhd/issues/1
|
||||||
# staring file was at /opt/homebrew/opt/yabai/share/yabai/examples
|
# staring file was at /opt/homebrew/opt/yabai/share/yabai/examples
|
||||||
|
# notes, stacks: https://github.com/koekeishiya/yabai/issues/203#issuecomment-650642142
|
||||||
|
|
||||||
##########################################################################################
|
##########################################################################################
|
||||||
# yabai
|
# yabai
|
||||||
|
|
||||||
# general idea: alt navigates (move my view); shift+alt modifies (move/change windows)
|
# general idea: alt navigates (move my view); alt+shift modifies (move/change the window)
|
||||||
|
|
||||||
# switch to space (to leave SIP in place, configure these in macos system settings)
|
# switch to space (to leave SIP in place, configure these in macos system settings)
|
||||||
# alt - 1 // switch to space 1 (and similar for other numbers)
|
# alt - 1 // switch to space 1 (and similar for other numbers)
|
||||||
|
|
||||||
# in managed mode: swap current window
|
|
||||||
shift + alt - k : yabai -m window --swap north
|
|
||||||
shift + alt - j : yabai -m window --swap south
|
|
||||||
shift + alt - h : yabai -m window --swap west # TODO: remove, only have j/k (just stack)
|
|
||||||
shift + alt - l : yabai -m window --swap east # TODO: remove, only have j/k (just stack)
|
|
||||||
|
|
||||||
# move focused window to the given space
|
# move focused window to the given space
|
||||||
shift + alt - 1 : yabai -m window --space 1
|
alt + shift - 1 : yabai -m window --space 1 --focus
|
||||||
shift + alt - 2 : yabai -m window --space 2
|
alt + shift - 2 : yabai -m window --space 2 --focus
|
||||||
shift + alt - 3 : yabai -m window --space 3
|
alt + shift - 3 : yabai -m window --space 3 --focus
|
||||||
shift + alt - 4 : yabai -m window --space 4
|
alt + shift - 4 : yabai -m window --space 4 --focus
|
||||||
shift + alt - 5 : yabai -m window --space 5
|
alt + shift - 5 : yabai -m window --space 5 --focus
|
||||||
shift + alt - 6 : yabai -m window --space 6
|
alt + shift - 6 : yabai -m window --space 6 --focus
|
||||||
shift + alt - 7 : yabai -m window --space 7
|
alt + shift - 7 : yabai -m window --space 7 --focus
|
||||||
shift + alt - 8 : yabai -m window --space 8
|
alt + shift - 8 : yabai -m window --space 8 --focus
|
||||||
shift + alt - 9 : yabai -m window --space 9
|
alt + shift - 9 : yabai -m window --space 9 --focus
|
||||||
|
|
||||||
# all windows in a space to float and each fill screen (idea: stack mode)
|
# all windows in a space to fullscreen in a single stack
|
||||||
shift + alt - s : yabai -m space --layout float \
|
alt + shift - s : yabai -m space --layout stack
|
||||||
| yabai -m query --windows --space | jq '.[].id' \
|
|
||||||
| xargs -I % yabai -m window % --grid 1:1:0:0:1:1
|
|
||||||
# toggle float on/off for the focused window
|
|
||||||
shift + alt - f : yabai -m window --toggle float
|
|
||||||
# all windows in a space back to the grid (managed)
|
# all windows in a space back to the grid (managed)
|
||||||
shift + alt - g : yabai -m space --layout bsp
|
alt + shift - g : yabai -m space --layout bsp
|
||||||
|
# toggle float on/off for the focused window
|
||||||
|
alt + shift - f : yabai -m window --toggle float
|
||||||
# balance window sizes
|
# balance window sizes
|
||||||
shift + alt - 0 : yabai -m space --balance # TODO: figure out better key option
|
alt + shift - 0 : yabai -m space --balance # TODO: figure out better key option
|
||||||
|
|
||||||
# managed layout, focus on next/previous window
|
# focus on next/previous window
|
||||||
#alt - x : yabai -m window --focus next # TODO: delete or figure out better key option
|
alt - j : yabai -m window --focus \
|
||||||
#alt - z : yabai -m window --focus prev # TODO: delete or figure out better key option
|
$(yabai -m query --spaces --space | jq '.type' | tr -d "\"" | sed "s/stack/stack./" | sed "s/.*[^.]\$//")prev
|
||||||
# focus on next/previous window; hacky, but it seems to work for now
|
alt - k : yabai -m window --focus \
|
||||||
alt - k : yabai -m query --windows --space | jq '.[].id' | sort | tr "\r\n" " " \
|
$(yabai -m query --spaces --space | jq '.type' | tr -d "\"" | sed "s/stack/stack./" | sed "s/.*[^.]\$//")next
|
||||||
| sed "s/\(.*\)/ \1 \n/" \
|
|
||||||
| sed "s/.* $(yabai -m query --windows --window | jq '.id') \([0-9]*\) .*/\1/" \
|
# move current window up/down in stack
|
||||||
| xargs -I % yabai -m window --focus %
|
alt + shift - k : yabai -m window --swap \
|
||||||
alt - j : yabai -m query --windows --space | jq '.[].id' | sort | tr "\r\n" " " \
|
$(yabai -m query --spaces --space | jq '.type' | tr -d "\"" | sed "s/stack/stack./" | sed "s/.*[^.]\$//")next
|
||||||
| sed "s/\(.*\)/ \1 \n/" \
|
alt + shift - j : yabai -m window --swap \
|
||||||
| sed "s/.* \([0-9]*\) $(yabai -m query --windows --window | jq '.id') .*/\1/" \
|
$(yabai -m query --spaces --space | jq '.type' | tr -d "\"" | sed "s/stack/stack./" | sed "s/.*[^.]\$//")prev
|
||||||
| xargs -I % yabai -m window --focus %
|
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ yabai -m config \
|
|||||||
window_placement first_child \
|
window_placement first_child \
|
||||||
window_insertion_point focused \
|
window_insertion_point focused \
|
||||||
window_zoom_persist on \
|
window_zoom_persist on \
|
||||||
window_shadow on \
|
window_shadow off \
|
||||||
window_animation_duration 0.0 \
|
window_animation_duration 0.0 \
|
||||||
window_animation_easing ease_out_circ \
|
window_animation_easing ease_out_circ \
|
||||||
window_opacity_duration 0.0 \
|
window_opacity_duration 0.0 \
|
||||||
@ -19,7 +19,7 @@ yabai -m config \
|
|||||||
normal_window_opacity 0.90 \
|
normal_window_opacity 0.90 \
|
||||||
window_opacity off \
|
window_opacity off \
|
||||||
insert_feedback_color 0xffd75f5f \
|
insert_feedback_color 0xffd75f5f \
|
||||||
split_ratio 0.70 \
|
split_ratio 0.0 \
|
||||||
split_type auto \
|
split_type auto \
|
||||||
auto_balance off \
|
auto_balance off \
|
||||||
top_padding 00 \
|
top_padding 00 \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user