diff options
| author | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2025-08-23 12:42:37 +0900 |
|---|---|---|
| committer | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2025-08-23 12:42:37 +0900 |
| commit | 07d294425a98ee5d1e22d03e2b24ae2c76e487c0 (patch) | |
| tree | a6818f0d64438c5fdb88b00a35d944f80c056213 /mac/.config/sketchybar.mon/plugins/yabai.sh | |
| parent | 6fc28cdb3529ca8ee864cb5c41674cb0a4af72a1 (diff) | |
updates
Diffstat (limited to 'mac/.config/sketchybar.mon/plugins/yabai.sh')
| -rwxr-xr-x | mac/.config/sketchybar.mon/plugins/yabai.sh | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/mac/.config/sketchybar.mon/plugins/yabai.sh b/mac/.config/sketchybar.mon/plugins/yabai.sh new file mode 100755 index 0000000..6027de1 --- /dev/null +++ b/mac/.config/sketchybar.mon/plugins/yabai.sh @@ -0,0 +1,141 @@ +#!/bin/bash + +# window_state() { +# source "$CONFIG_DIR/globalstyles.sh" +# +# COLOR=$LABEL_COLOR +# +# WINDOW=$(yabai -m query --windows --window) +# read -r FLOATING SPLIT PARENT FULLSCREEN STICKY STACK_INDEX <<<$(echo "$WINDOW" | jq -rc '.["is-floating", "split-type", "has-parent-zoom", "has-fullscreen-zoom", "is-sticky", "stack-index"]') +# +# if [[ $STACK_INDEX -gt 0 ]]; then +# LAST_STACK_INDEX=$(yabai -m query --windows --window stack.last | jq '.["stack-index"]') +# ICON=$YABAI_STACK +# LABEL="$(printf "%s/%s " "$STACK_INDEX" "$LAST_STACK_INDEX")" +# COLOR=$YELLOW +# elif [[ $FLOATING == "true" ]]; then +# ICON=$YABAI_FLOAT +# elif [[ $PARENT == "true" ]]; then +# ICON="" +# elif [[ $FULLSCREEN == "true" ]]; then +# ICON=$YABAI_FULLSCREEN_ZOOM +# elif [[ $SPLIT == "vertical" ]]; then +# ICON=$YABAI_SPLIT_VERTICAL +# elif [[ $SPLIT == "horizontal" ]]; then +# ICON=$YABAI_SPLIT_HORIZONTAL +# else +# ICON=$YABAI_GRID +# fi +# +# args=(--bar border_color=$COLOR --animate sin 10 --set $NAME icon=$ICON icon.color=$COLOR) +# +# [ -z "$LABEL" ] && args+=(label.drawing=off) || +# args+=(label.drawing=on label="$LABEL" label.color=$COLOR) +# +# [ -z "$ICON" ] && args+=(icon.width=0) || +# args+=(icon="$ICON") +# +# sketchybar -m "${args[@]}" +# } +# +# windows_on_spaces() { +# /usr/bin/python3 $CONFIG_DIR/plugins/space.py # New spaces python script to consolidate spaces +# } +# +# mouse_clicked() { +# +# yabai_mode=$(yabai -m query --spaces --space | jq -r .type) +# +# case "$yabai_mode" in +# bsp) +# yabai -m config layout stack +# ;; +# stack) +# yabai -m config layout float +# ;; +# float) +# yabai -m config layout bsp +# ;; +# esac +# +# window_state +# } +# +# case "$SENDER" in +# "mouse.clicked") +# mouse_clicked +# ;; +# "forced") +# exit 0 +# ;; +# "window_focus") +# window_state +# ;; +# "windows_on_spaces" | "space_change") +# windows_on_spaces +# ;; +# esac + +window_state() { + source "$CONFIG_DIR/colors.sh" + source "$CONFIG_DIR/icons.sh" + + COLOR=$ROSEWATER + + WINDOW=$(yabai -m query --windows --window) + read -r FLOATING SPLIT PARENT FULLSCREEN STICKY STACK_INDEX <<<$(echo "$WINDOW" | jq -rc '.["is-floating", "split-type", "has-parent-zoom", "has-fullscreen-zoom", "is-sticky", "stack-index"]') + + if [[ $STACK_INDEX -gt 0 ]]; then + LAST_STACK_INDEX=$(yabai -m query --windows --window stack.last | jq '.["stack-index"]') + ICON=$YABAI_STACK + LABEL="$(printf "%s/%s " "$STACK_INDEX" "$LAST_STACK_INDEX")" + COLOR=$YELLOW + elif [[ $FLOATING == "true" ]]; then + ICON=$YABAI_FLOAT + elif [[ $PARENT == "true" ]]; then + ICON="" + elif [[ $FULLSCREEN == "true" ]]; then + ICON=$YABAI_FULLSCREEN_ZOOM + elif [[ $SPLIT == "vertical" ]]; then + ICON=$YABAI_SPLIT_VERTICAL + elif [[ $SPLIT == "horizontal" ]]; then + ICON=$YABAI_SPLIT_HORIZONTAL + else + ICON=$YABAI_GRID + fi + + args=(--bar --animate sin 10 --set $NAME icon=$ICON icon.color=$COLOR) + # args=(--bar border_color=$COLOR --animate sin 10 --set $NAME icon=$ICON icon.color=$COLOR) + + [ -z "$LABEL" ] && args+=(label.drawing=off) || + args+=(label.drawing=on label="$LABEL" label.color=$COLOR) + + [ -z "$ICON" ] && args+=(icon.width=0) || + args+=(icon="$ICON") + + sketchybar -m "${args[@]}" +} + +windows_on_spaces() { + /usr/bin/python3 $CONFIG_DIR/plugins/space.py # New spaces python script to consolidate spaces +} + +mouse_clicked() { + yabai -m window --toggle float + window_state +} + +case "$SENDER" in +"mouse.clicked") + mouse_clicked + ;; +"forced") + exit 0 + ;; +"window_focus") + window_state + ;; +# "windows_on_spaces" | "space_change") +# windows_on_spaces +# ;; +esac |
