Files
dotfiles/sketchybar/plugins/aerospace.sh

59 lines
1.5 KiB
Bash
Raw Normal View History

2024-12-08 15:49:58 +00:00
#!/usr/bin/env bash
# make sure it's executable with:
# chmod +x ~/.config/sketchybar/plugins/aerospace.sh
# if [ "$1" = "$FOCUSED_WORKSPACE" ]; then
# sketchybar --set $NAME background.drawing=on
# else
# sketchybar --set $NAME background.drawing=off
# fi
#
get_app_icon () {
local app_name="$1"
if [ "$app_name" = "WezTerm" ]; then
echo "󰆍"
elif [ "$app_name" = "neovide" ]; then
echo ""
elif [ "$app_name" = "Firefox" ]; then
echo "󰈹"
elif [ "$app_name" = "Discord" ]; then
echo "󰙯"
elif [ "$app_name" = "Music" ]; then
echo "󰝚"
elif [ "$app_name" = "WebStorm" ]; then
echo "󰈮"
elif [ "$app_name" = "IntelliJ IDEA" ]; then
echo "󰈮"
else
echo "name:$app_name"
fi
}
sketchybar --remove /app\\./
focused_window=$(aerospace list-windows --focused --format "%{window-id}" || "")
IFS=$'\n'
for item in $(aerospace list-windows --workspace focused --format "%{window-id}:%{app-name}"); do
window_id=${item%:*}
app_name=${item#*:}
label=$(get_app_icon "$app_name")
if [ "${label:0:5}" = "name:" ]; then
sketchybar --add item app.$window_id.$app_name left \
--set app.$window_id.$app_name \
label=${label:5}
else
sketchybar --add item app.$window_id.$app_name left \
--set app.$window_id.$app_name \
icon=$label
fi
if [ "$window_id" = "$focused_window" ]; then
sketchybar --set app.$window_id.$app_name icon.color=0xffea9a97
fi
done
unset IFS