#!/usr/bin/env bash
WIN_CLASS="nvim_notes"
#ICON="  "
ICON="  "

# найти node id
find_node() {
  for id in $(bspc query -N -n .window 2>/dev/null); do
    if xprop -id "$id" WM_CLASS 2>/dev/null | grep -q "$WIN_CLASS"; then
      echo "$id" && return 0
    fi
  done
  return 1
}

NODE=$(find_node) || NODE=""

if [ -z "$NODE" ]; then
  echo "$ICON"
  exit 0
fi

# проверить флаг hidden через JSON (надежно)
if bspc query -T -n "$NODE" 2>/dev/null | grep -q '"hidden":[[:space:]]*true'; then
  echo "%{T1}$ICON%{T-}%{T2}Скрыто%{T-} "
  exit 0
fi

# если в фокусе — видно
FOC=$(bspc query -N -n focused.window 2>/dev/null || echo "")
if [ "$NODE" = "$FOC" ]; then
  echo "%{T1}$ICON%{T-}%{T2}Фокус%{T-} "
  exit 0
fi

# получить список окон текущего десктопа и проверить наличие
CUR_DESK_WINDOWS=$(bspc query -N -n .window.local 2>/dev/null || bspc query -N -n .window 2>/dev/null)
if echo "$CUR_DESK_WINDOWS" | grep -qx "$NODE"; then
  echo "%{T1}$ICON%{T-}%{T2}ON%{T-} "
else
  echo "%{T1}$ICON%{T-}%{T2}ON%{T-} "
fi
