#!/bin/bash

# Скрипт для изменения лотка по умолчанию для HP принтера
# Использование: ./set-hp-tray.sh [tray1|tray2]

set -e

# Найти HP принтер
HP_PRINTER=$(lpstat -p 2>/dev/null | grep -i "hp.*m402" | awk '{print $2}' | head -1)

if [ -z "$HP_PRINTER" ]; then
    echo "❌ HP принтер не найден в системе"
    exit 1
fi

echo "🖨️  Найден принтер: $HP_PRINTER"
echo ""

# Проверить текущий лоток
CURRENT_TRAY=$(lpoptions -p "$HP_PRINTER" -l 2>/dev/null | grep "InputSlot" | grep -o '\*[^*]*' | sed 's/*//' || echo "Upper")
echo "📄 Текущий лоток по умолчанию: $CURRENT_TRAY"
echo ""

# Определить целевой лоток из аргумента
TARGET_TRAY=""
if [ "$1" = "tray1" ] || [ "$1" = "1" ] || [ "$1" = "upper" ]; then
    TARGET_TRAY="Upper"
    TRAY_NAME="Tray 1 (Upper)"
elif [ "$1" = "tray2" ] || [ "$1" = "2" ] || [ "$1" = "lower" ]; then
    TARGET_TRAY="Lower"
    TRAY_NAME="Tray 2 (Lower)"
else
    echo "❌ Неверный аргумент. Использование:"
    echo "   $0 tray1  - установить Tray 1 (Upper)"
    echo "   $0 tray2  - установить Tray 2 (Lower)"
    exit 1
fi

# Если уже установлен нужный лоток
if [ "$CURRENT_TRAY" = "$TARGET_TRAY" ]; then
    echo "✅ Лоток уже установлен на $TRAY_NAME"
    exit 0
fi

# Установить новый лоток
echo "🔄 Установка лотка на $TRAY_NAME..."
lpadmin -p "$HP_PRINTER" -o InputSlot="$TARGET_TRAY" 2>&1

# Проверить результат
sleep 1
NEW_TRAY=$(lpoptions -p "$HP_PRINTER" -l 2>/dev/null | grep "InputSlot" | grep -o '\*[^*]*' | sed 's/*//' || echo "")

if [ "$NEW_TRAY" = "$TARGET_TRAY" ]; then
    echo "✅ Лоток успешно установлен на $TRAY_NAME"
    echo ""
    echo "📋 Текущие настройки:"
    lpoptions -p "$HP_PRINTER" -l | grep InputSlot
else
    echo "⚠️  Лоток может быть не изменен. Проверьте настройки:"
    lpoptions -p "$HP_PRINTER" -l | grep InputSlot
    echo ""
    echo "💡 Если Lower не поддерживается, попробуйте:"
    echo "   1. Установить официальный драйвер HP"
    echo "   2. Изменить настройку в LibreOffice для каждого документа"
    exit 1
fi












































