#!/usr/bin/env bash
WIN_CLASS="nvim_notes"

find_node() {
  for id in $(bspc query -N -n .window); do
    xprop -id "$id" WM_CLASS 2>/dev/null | grep -q "$WIN_CLASS" && echo "$id" && return
  done
}

NODE=$(find_node)

if [ -n "$NODE" ]; then
  # если окно скрыто — показать, иначе скрыть
  HIDDEN=$(bspc query -N -n "$NODE" --names 2>/dev/null | grep -q hidden && echo yes || echo no)
  # надёжно: проверим фокус
  FOC=$(bspc query -N -n focused.window 2>/dev/null)
  if [ "$NODE" = "$FOC" ]; then
    bspc node "$NODE" -g hidden=on
    exit 0
  fi
  # toggle hidden state
  # попробуем прочитать флаг hidden через query -T (если доступно)
  if bspc query -T -n "$NODE" 2>/dev/null | grep -q '"hidden": true'; then
    bspc node "$NODE" -g hidden=off
    bspc node "$NODE" -d focused
    bspc node "$NODE" -f
  else
    bspc node "$NODE" -g hidden=on
  fi
  exit 0
fi

# если не найден — запустить
~/.config/bspwm/scripts/nvim_notes.sh &
