#!/bin/bash

# Comprobamos la configuración del bloqueo de pantalla para el usuario gráfico y le damos la opción de modificarlo:
RUTA_REL_XML=".config/xfce4/xfconf/xfce-perchannel-xml/xfce4-screensaver.xml"
HOMEUSUARIO="$(vx-home-usuario-grafico)"
PROP_LOCK='/channel/property[@name="lock"]/property[@name="enabled"]/@value'
IMG="screensaver"
ICONO="vitalinux"
TITULO="Estado del Bloqueo de Pantalla"

ESTADO="$(xmlstarlet sel -t -v "${PROP_LOCK}" "${HOMEUSUARIO}/${RUTA_REL_XML}")"

if [[ "${ESTADO}" == "true" ]] ; then
    TEXTO="El bloqueo de pantalla está ACTIVADO. Indica que quieres hacer:"
    IMG="lock"
else
    TEXTO="El bloqueo de pantalla está DESACTIVADO. Indica que quieres hacer:"
    IMG="unlock"
fi

RESPUESTA="$(yad --form \
    --text "${TEXTO}" \
    --image "${IMG}" --window-icon "${ICONO}" \
    --width "550" \
    --center \
    --title="${TITULO}" \
--field="Bloqueo de Pantalla:CHK" "${ESTADO}" | cut -d"|" -f1)"

[[ ! "${RESPUESTA}" ]] && \
echo "#> ${0}: Cancelado por el usuario" && \
exit 1

TEXTO="No hay cambio en la configuración del bloqueo de pantalla. Salimos."
[[ "${RESPUESTA,,}" == "${ESTADO,,}" ]] && \
echo "#> ${0}: ${ESTADO,,} => ${TEXTO}" && \
notify-send -i vitalinux "${TITULO}" "${TEXTO}" && \
exit 2

[[ "${RESPUESTA,,}" == "true" ]]
TEXTO="Se ha activado el bloqueo de pantalla" || \
TEXTO="Se ha desactivado el bloqueo de pantalla"

# Comprobamos si el Escritorio esta congelado para solicitar permisos de administración:
if dpkg -l | grep -q "vx-dga-l-congelar-escritorio"; then
    pkexec --user root /usr/bin/vx-screensaver-conf -l "${RESPUESTA,,}"
else
    /usr/bin/vx-screensaver-conf -l "${RESPUESTA,,}"
fi

[[ "${?}" == "0" ]] && \
notify-send -i vitalinux "${TITULO}" "${TEXTO}" && \
exit 0

exit 3