#!/bin/bash

# lastact: [arturo@2024-2-27]
# desc: script que permite administrar la gestión de energía y salvapantallas de x11 (habilitar y deshabilitar)

FICHFUNCS="/usr/bin/vx-funcs-bash"
[ -f "${FICHFUNCS}" ] && . "${FICHFUNCS}" "null"

# 0) Comprobamos si se solicita ayuda y se muestra:
function x11_help() {
    DESCRIPCION="Permite habilitar o deshabilitar la gestión de energía (dpms) y screen saver de X11.  Necesita un parámetro:
    1. '--disable' => deshabilita x11
    2. '--enable' => habilita x11
    3. '--conf' => muestra la información de x11 (xset -q)"
    EJEMPLO="${0} \"--enable|--disable\""
    vx-show_help_script "${0}" "${DESCRIPCION}" "${EJEMPLO}"
}

# 1) Comprobamos si se pide ayuda de como usar el comando:
vx-check_need_help && x11_help && exit 0

function configurar_x11_deshabilitar() {
    # Deshabilitamos el Screen Saver de X11:
    xset s off
    # Deshabilitamos el DPMS:  "Display Power Management Signaling" (Señalización de Gestión de Energía de Pantalla)
    xset -dpms
}

function configurar_x11_habilitar() {
    # Deshabilitamos el Screen Saver de X11:
    xset s on
    # Deshabilitamos el DPMS:  "Display Power Management Signaling" (Señalización de Gestión de Energía de Pantalla)
    xset +dpms
}

# 2) Comprobamos a través del primer parámetro la acción a desencadenar:
[ -z "${1}" ] && x11_help && exit 1
case "${1}" in
    "--disable" ) configurar_x11_deshabilitar ;;
    "--enable" ) configurar_x11_habilitar ;;
    "--conf" ) xset -q ;;
    * )
        x11_help
        exit 1
    ;;
esac
exit 0