#!/bin/bash
LOG_FILE="/var/log/dm-scripts.log"
BASESCRIPT=$(realpath /usr/libexec/dm-script-link)
RU='no'
env |grep -q 'ru_RU.UTF' && RU='yes'

log() {
    if [ $RU == 'yes' ] && [ -n "$2" ]; then
	echo "==> $2"
    else
	echo "==> $1"
    fi
    echo "$(date '+%H:%M:%S') ==> $1" >> "$LOG_FILE"
}

cleanup() {
    log "Read DM Scripts log and press ENTER to return DM" \
        "Просмотрите лог и нажмите ENTER для возврата в меню DM"
    read qqq
    systemctl start display-manager.service
}

# Если мы не в tmux и tmux доступен - перезапускаемся в tmux
if [ -z "$TMUX" ] && command -v tmux >/dev/null 2>&1; then
    log "Restarting in tmux session" "Запуск в сессии tmux"
    chvt 1
    clear
    exec tmux new-session -s dm_scripts -n upgrade "bash '$0' $@"
    exit 0
else
    chvt 1
fi

main() {
    date > $LOG_FILE

    if [ -n "$TMUX" ]; then
        tmux rename-window "DM Scripts"
    fi

    echo "========================="
    log "Run: $(basename $BASESCRIPT)" \
        "Старт: $(basename $BASESCRIPT)"
    echo "========================="
    echo ""

    $BASESCRIPT | tee -a $LOG_FILE
    [ "${PIPESTATUS[0]}" -eq 0 ] && \
    log "All commands completed successfully" "Все задачи успешно завершены"
}

trap cleanup EXIT

if [ "$(id -u)" -ne 0 ]; then
    log "You must be root to run this script" \
        "Нужно быть root, чтобы запускать это" >&2
    exit 1
fi

main
