#!/bin/bash

# Encuentra el primer sink NO suspendido
ACTIVE_SINK=$(pactl list sinks | awk -v RS='' '/State: RUNNING/ {for (i=1;i<=NF;i++) if ($i ~ /^Name:/) print $i}' | cut -d: -f2 | head -n1)

# Si no hay uno en estado RUNNING, usar el que tenga entrada de audio
if [ -z "$ACTIVE_SINK" ]; then
    ACTIVE_SINK=$(pactl list sink-inputs short | awk '{print $2}' | head -n1)
fi

# Fallback final: usar el default
if [ -z "$ACTIVE_SINK" ]; then
    ACTIVE_SINK=$(pactl get-default-sink)
fi

# Opciones
case "$1" in
  up)
    pactl set-sink-volume "$ACTIVE_SINK" +5%
    ;;
  down)
    pactl set-sink-volume "$ACTIVE_SINK" -5%
    ;;
  toggle)
    pactl set-sink-mute "$ACTIVE_SINK" toggle
    ;;
  *)
    echo "Uso: $0 [up|down|toggle]"
    ;;
esac

