#!/bin/bash
# Forzamos al equipo una configuración a nivel de usuario
# ya que no funciona de forma tradicional (con las fallas de AJUSTAR-PANTALLAS-FIJA)
# al quedar con la resolución correcta pero las ventanas sin redimensionar

# Solo parace haber problemas para bionic
# Para focal se configura el arranque en el archivo de configuración vx-dga-l-video-settings.conf
#   o bien automáticamente en los que son "iguales" o lo hará el a mano

[ "$(lsb_release -cs)" = "bionic" ] || exit 0

FICHCONF="/etc/default/vx-dga-variables/vx-dga-variables-general.conf"
[ -f "${FICHCONF}" ] && \
. "${FICHCONF}"

LOGFILE="/var/log/vitalinux/vx-lxrandr-fijo-usuario.log"
RESOLUCION="1024x768"
if test -z "${CONFLXRANDBYUSER1}" ; then
    ## Limpiamos configuraciones previas
    # script de video en inicio-apagado (general)
    FICHCONFVIDEO="/etc/default/vx-dga-variables/vx-dga-l-video-settings.conf"
    [ -f "$FICHCONFVIDEO" ] && crudini --set "$FICHCONFVIDEO" Global active 0 && \
    echo "$(date) - Inactivado script de pantallas inicio" >> "${LOGFILE}"
    
    # Creamos el desktop general en el skel
    mkdir -p "/etc/skel/.config/autostart/"
  cat > /etc/skel/.config/autostart/lxrandr-autostart.desktop<<EOF
[Desktop Entry]
Type=Application
Name=Inicio automático de LXRandR
Comment=Iniciar xrandr con los ajustes realizados en LXRandR
Exec=sh -c 'xrandr --output HDMI-1 --auto --output VGA-1 --off'
OnlyShowIn=LXDE
EOF
    echo "$(date) - Creada configuración del skel" >> "${LOGFILE}"
    
    # Creamos también el del Escritorio, ya que así luego a futuros lo pueden editar
    cat > "/etc/skel/Escritorio/vx-proyecta.desktop" <<EOFPROY
[Desktop Entry]
Type=Application
Name=Ajuste del Proyector
Comment=Ajusta la resolución de las pantallas para proyectar
Exec=sh -c 'xrandr --output VGA-1 --off && xrandr --output HDMI-1 --auto && xrandr --output HDMI-1 --mode $RESOLUCION --output VGA-1 --mode $RESOLUCION --same-as HDMI-1'
Icon=display
EOFPROY
    
    ## Limpiamos también configuraciones por usuario si las tuviera o se crean nuevas
    for DIR in /datos/usuarios/profesores/*; do
        [ -d "$DIR" ] || continue
        USUARIO=$(basename "${DIR}")
        mkdir -p "${DIR}/.config/autostart/" && \
        cp /etc/skel/.config/autostart/lxrandr-autostart.desktop "${DIR}/.config/autostart/" && \
        chown -R "${USUARIO}" "${DIR}/.config/autostart"
        echo "$(date) - Creada configuración simple para ${USUARIO}" >> "${LOGFILE}"
    done
    ## Limpiamos lanzadores de escritorio o se crean nuevas
    for DIR in /datos/usuarios/profesores/*; do
        [ -d "$DIR" ] || continue
        [ -f "$DIR/Escritorio/vx-proyecta" ] && rm -f "$DIR/Escritorio/vx-proyecta"
        USUARIO=$(basename "${DIR}")
        cp /etc/skel/Escritorio/vx-proyecta.desktop "${DIR}/Escritorio/vx-proyecta.desktop" && \
        chown "${USUARIO}" "${DIR}/Escritorio/vx-proyecta.desktop"
        echo "$(date) - Creado lanzador para ${USUARIO}" >> "${LOGFILE}"
    done
    echo "$(date) - Configurada base...creamos la variable para no repetir el scritp" >> "${LOGFILE}"
    sed -i "/CONFLXRANDBYUSER/d" "${FICHCONF}" > /dev/null 2>&1

    sed -i '/Varibles utilizadas por los paquetes/a CONFLXRANDBYUSER1=1' "${FICHCONF}"
    
fi
