#!/bin/bash
. /usr/lib/eole/ihm.sh

USER="$(whoami)"
# Never rename ${USER_HOME} to ${HOME} or this script will fail ;-)
USER_HOME=$(getent passwd ${USER} | awk -F':' '{print $6}')
export XAUTHORITY="${USER_HOME}/.Xauthority"

VOLUMES_OPTIONS="-v /usr/share/era/modeles:/usr/share/era/modeles:rw -v /etc/ssl/certs/:/etc/ssl/certs:ro"
X_OPTIONS="-v $XAUTHORITY:/root/.Xauthority:rw -v /tmp/.X11-unix:/tmp/.X11-unix:rw -e DISPLAY"

ENV_VARIABLES="/etc/eole/containers.conf.d/common.env"
if [ -e "$ENV_VARIABLES" ];then
    source "$ENV_VARIABLES"
else
    CONTAINER_TAG=stable
fi

ERA_IMAGE="hub.eole.education/eole/era:$CONTAINER_TAG"

if [ -n "$SSH_CLIENT" ];then
    # over SSH
    if [ ! -n "$DISPLAY" ];then
        EchoRouge "DISPLAY manquant. Activer l'option SSH: 'ForwardX11'"
        exit 1
    fi
    podman run -it --rm --net=host $X_OPTIONS $VOLUMES_OPTIONS $ERA_IMAGE $@
elif [ -n "$DISPLAY" ]
then
    # X is already stated
    podman run -it --rm --net=host $X_OPTIONS $VOLUMES_OPTIONS $ERA_IMAGE $@
else
    # Console mode
    if [ ! -f "$XAUTHORITY" ];then
        # create .Xauthority file if missing (#35358)
        touch "$XAUTHORITY"
        chmod 600 "$XAUTHORITY"
    fi
    TMPF=$(mktemp -p /tmp)
    LOG_TMPF=$(mktemp -p /tmp)
    /bin/echo "
start_matchbox_after_era() {
    for i in \$(seq 0 30); do
        sleep .5
        if podman exec era_in_container pgrep -f 'python /usr/share/era/era' >/dev/null;then
          sleep .1
          break
        fi
    done
    /usr/bin/matchbox-window-manager -use_titlebar no -use_desktop_mode decorated &
}

/usr/bin/numlockx
setxkbmap fr
start_matchbox_after_era &
xterm -e podman run -it --rm --net=host --name era_in_container $X_OPTIONS $VOLUMES_OPTIONS $ERA_IMAGE $@
" > $TMPF
    chmod a+x $TMPF
    xinit $TMPF
    cat $LOG_TMPF
    rm -f $TMPF $LOG_TMPF
fi
