#!/usr/bin/env bash

VERSION=1.0

init(){
    export TEXTDOMAIN="${0##*/}"
    export TEXTDOMAINDIR="${PATH_ROOT}/usr/share/locale"
}

i18n() {
    local key="$1"; shift
    printf "$(gettext -s "$key")" "$@"
}

msg_version="ubclient-xpra-self, version %s
Copyright (C) 2024 UBSoft, Inc.
License GPLv3+: GNU GPL version 3 or later <http://ublinux.ru>"

msg_help="ubclient-xpra-self simple XPRA client nested session
  Usage:    %s [--h]
    --h  Show a help message"

    PATH_ROOT=
    init

    if [[ $1 == @("--h"|"--help") ]]; then
	echo -e "$(i18n "${msg_version}" "${VERSION}") \n"
	echo -e "$(i18n "${msg_help}" "${0##*/}")"
	exit 0
    elif [[ $1 == @("--V"|"--version") ]]; then
	echo -e "$(i18n "${msg_version}" "${VERSION}")"
	exit 0
    fi

    if [[ -f /usr/bin/xpra ]]; then
	if [[ -n ${DESKTOP_SESSION} ]]; then
	    #Определяем какое окружение запущено
	    FILE_DESKTOP_SESSION=$(ls "/usr/share/xsessions/${DESKTOP_SESSION}.desktop" 2>/dev/null)
	    [[ -z ${FILE_DESKTOP_SESSION} ]] && FILE_DESKTOP_SESSION="/usr/share/xsessions/default.desktop"
	    [[ $(cat ${FILE_DESKTOP_SESSION} ) =~ (^|$'\n')Exec=([^$'\n']*)($|$'\n') ]] && START_DESKTOP_SESSION="${BASH_REMATCH[2]}"
	    /usr/bin/xpra start-desktop --start="${START_DESKTOP_SESSION}" --notifications=no --system-tray=no :100 \
		| zenity --progress --pulsate --title="$(i18n 'Wait...')" --text="$(i18n 'Progress...')" --no-cancel --auto-close
	    sleep 1
	    XPRA_USE_NATIVE_TRAY=0 /usr/bin/xpra --splash=no --title="$(i18n 'Nested session Xfce4')" --session-name=ubclient-xpra-self --window-icon=com.ublinux.ubclient-xpra-self.network --tray-icon=com.ublinux.ubclient-xpra-self.network --headerbar=no --tray=no --system-tray=off attach :100 \
		| zenity --progress --pulsate --title="$(i18n 'Wait...')" --text="$(i18n 'Progress...')" --no-cancel --auto-close
	    /usr/bin/xpra stop :100
	fi
    fi
