Skip to content

Instantly share code, notes, and snippets.

@vhata
Created December 11, 2023 19:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vhata/d90501383261b9505f05fe5321e861d3 to your computer and use it in GitHub Desktop.
Save vhata/d90501383261b9505f05fe5321e861d3 to your computer and use it in GitHub Desktop.
#!/bin/bash
#yabai -m query --windows | jq -r '.[] | "YABAI_WIN\(.app | gsub(" "; "_"))=\(.id)"'
get_windows() {
yabai -m query --windows | jq -r 'group_by(.app) | map(to_entries[] | "YABAI_WIN\(.value.app | gsub("\u200e"; "") | gsub("[ .]"; "_"))_\(.key)=\(.value.id)") | .[]'
}
movewin() {
local _winpref="YABAI_WIN${1}"
local _winvar
compgen -v "$_winpref" | while read _winvar ; do
local _winid="${!_winvar}"
if [ -n "$_winid" ] ; then
yabai -m window "$_winid" --space "$2"
fi
done
}
gridwin() {
local _winpref="YABAI_WIN${1}"
local _winvar
compgen -v "$_winpref" | while read _winvar ; do
local _winid="${!_winvar}"
if [ -n "$_winid" ] ; then
yabai -m window "$_winid" --grid "$2"
fi
done
}
focuswin() {
local _winpref="YABAI_WIN${1}"
local _winvar
compgen -v "$_winpref" | while read _winvar ; do
local _winid="${!_winvar}"
if [ -n "$_winid" ] ; then
yabai -m window --focus "$_winid"
fi
done
}
embiggenwin() {
local _winpref="YABAI_WIN${1}"
local _winvar
compgen -v "$_winpref" | while read _winvar ; do
local _winid="${!_winvar}"
if [ -n "$_winid" ] ; then
yabai -m window "$_winid" --space 6
sleep 0.5
yabai -m window "$_winid" --grid "8:6:1:1:4:6"
yabai -m window --focus "$_winid"
fi
done
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment