#!/usr/bin/env bash # Get the focused monitor name focused_monitor=$(hyprctl activeworkspace -j | jq -r '.monitor') # Hide if this bar's monitor is not the focused one if [ "$WAYBAR_OUTPUT" != "$focused_monitor" ]; then jq -c -n '{text:"", class:"hidden"}' exit 0 fi # Get active workspace ID active_ws=$(hyprctl activeworkspace -j | jq -r '.id') # Get clients in active workspace clients=$(hyprctl clients -j | jq -r \ ".[] | select(.workspace.id==$active_ws) | \"\(.title)\"") # Count clients (only non-empty lines) count=$(echo "$clients" | grep -c '\S') # If no clients → hide module if [ "$count" -eq 0 ]; then jq -c -n '{text:"", class:"hidden"}' exit 0 fi # Build tooltip tooltip=$(echo "$clients" | sed 's/^/• /' | paste -sd '\n' -) # Output JSON jq -c -n \ --arg text "$count" \ --arg tooltip "$tooltip" \ --arg class "active" \ '{text:$text, tooltip:$tooltip, class:$class}'