#!/bin/bash

# Скрипт для настройки двусторонней печати для HP принтера
# Использование: ./set-hp-duplex.sh [on|off|long|short]

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 ""

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

# Определить целевую настройку из аргумента
TARGET_DUPLEX=""
DUPLEX_NAME=""
if [ "$1" = "on" ] || [ "$1" = "long" ] || [ "$1" = "1" ]; then
    TARGET_DUPLEX="DuplexNoTumble"
    DUPLEX_NAME="Двусторонняя (длинная сторона - как книга)"
elif [ "$1" = "short" ] || [ "$1" = "2" ]; then
    TARGET_DUPLEX="DuplexTumble"
    DUPLEX_NAME="Двусторонняя (короткая сторона - как блокнот)"
elif [ "$1" = "off" ] || [ "$1" = "none" ] || [ "$1" = "0" ]; then
    TARGET_DUPLEX="None"
    DUPLEX_NAME="Односторонняя"
else
    echo "❌ Неверный аргумент. Использование:"
    echo "   $0 on     - включить двустороннюю печать (длинная сторона)"
    echo "   $0 long   - включить двустороннюю печать (длинная сторона)"
    echo "   $0 short  - включить двустороннюю печать (короткая сторона)"
    echo "   $0 off    - отключить двустороннюю печать"
    exit 1
fi

# Если уже установлена нужная настройка
if [ "$CURRENT_DUPLEX" = "$TARGET_DUPLEX" ]; then
    echo "✅ Двусторонняя печать уже установлена: $DUPLEX_NAME"
    exit 0
fi

# Установить новую настройку
echo "🔄 Установка: $DUPLEX_NAME..."
lpadmin -p "$HP_PRINTER" -o Duplex="$TARGET_DUPLEX" 2>&1

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

if [ "$NEW_DUPLEX" = "$TARGET_DUPLEX" ]; then
    echo "✅ Настройка успешно установлена: $DUPLEX_NAME"
    echo ""
    echo "📋 Текущие настройки:"
    lpoptions -p "$HP_PRINTER" -l | grep -E "Duplex|InputSlot"
    echo ""
    echo "⚠️  ВАЖНО для LibreOffice:"
    echo "   LibreOffice может игнорировать эти настройки."
    echo "   Используйте системный диалог печати:"
    echo "   File → Print → Options → 'Use system dialog'"
else
    echo "⚠️  Настройка может быть не изменена. Проверьте настройки:"
    lpoptions -p "$HP_PRINTER" -l | grep Duplex
    exit 1
fi












































