faster aerospace + sketchybar
change
commit ca3a098999d7ca3cb426d0a738f5fd75f96120b8
author Alpha Chen <alpha@kejadlen.dev>
date
parent 58360640
diff --git a/.config/sketchybar/plugins/aerospace.sh b/.config/sketchybar/plugins/aerospace.sh
index b64c33d4..8af51274 100755
--- a/.config/sketchybar/plugins/aerospace.sh
+++ b/.config/sketchybar/plugins/aerospace.sh
@@ -3,9 +3,7 @@
 # Original source:
 #   https://nikitabobko.github.io/AeroSpace/goodness#show-aerospace-workspaces-in-sketchybar
 
-workspaces=("${(@f)$(aerospace list-workspaces --monitor $1)}")
-
-if (($workspaces[(Ie)$FOCUSED_WORKSPACE])); then
+if (($argv[(Ie)$FOCUSED_WORKSPACE])); then
     sketchybar --set "$NAME" label="$FOCUSED_WORKSPACE" background.drawing=on
 else
     sketchybar --set "$NAME" label="$FOCUSED_WORKSPACE" background.drawing=off
diff --git a/.config/sketchybar/sketchybarrc b/.config/sketchybar/sketchybarrc
index 9feba6e2..ccfd5be6 100755
--- a/.config/sketchybar/sketchybarrc
+++ b/.config/sketchybar/sketchybarrc
@@ -39,13 +39,15 @@ sketchybar --default "${default[@]}"
 
 sketchybar --add event aerospace_workspace_change
 for monitor in $(aerospace list-monitors | awk '{print $1}'); do
+  # pass in workspaces since it takes a noticeable amount of time to run
+  workspaces=("${(@f)$(aerospace list-workspaces --monitor "$monitor")}")
   sketchybar --add item aerospace.$monitor left \
              --subscribe aerospace.$monitor aerospace_workspace_change \
              --set aerospace.$monitor \
                    display=$monitor \
                    icon.drawing=off \
                    label="$(aerospace list-workspaces --focused)" \
-                   script="$CONFIG_DIR/plugins/aerospace.sh $monitor"
+                   script="$CONFIG_DIR/plugins/aerospace.sh $workspaces"
 done
 
 ##### Adding Left Items #####