#!/usr/bin/env bash PANEL_CMD="hyprpanel" PANEL_KILL="pkill .hyprpanel-wrap" while true; do ACTIVE_WS=$(hyprctl -j activeworkspace | jq '.id') CLIENTS_ON_WS=$(hyprctl -j clients \ | jq "[.[] | select(.workspace.id == $ACTIVE_WS)] | length") if [ "$CLIENTS_ON_WS" -gt 0 ]; then # Workspace is NOT empty → kill panel pgrep -f .hyprpanel-wrap >/dev/null && $PANEL_KILL else # Workspace is empty → launch panel pgrep -f .hyprpanel-wrap >/dev/null || $PANEL_CMD & fi sleep 0.5 done