#!/bin/bash

# Conjunto de funciones y utilidades para el panel de XFCE

function vx-panel-mostrar-lista-plugins() {
    NUM_PANEL="${1:-"0"}" # Por defecto el panel 0 si no se indica lo contrario, el de por defecto
    echo "#> Los elementos o plugins que componen el panel-${NUM_PANEL} son los siguientes:"
    for id in $(xfconf-query -c xfce4-panel -p "/panels/panel-${NUM_PANEL}/plugin-ids" | grep -E "^[[:digit:]]"); do
        name=$(xfconf-query -c xfce4-panel -p "/plugins/plugin-${id}" -v)
        echo "$id → $name"
    done
}

function vx-panel-skel() {
    EJECUTABLE="/usr/bin/xmlstarlet"
    if [[ "${MODIFICAR_SKEL}" && -f "${DIR}" && -x "${EJECUTABLE}" ]]; then
        # Sintaxis del comando a ejecutar:
        # xmlstarlet edit \
        #         --update "/channel[@name='"xfce4-desktop"']/property[@name='desktop-icons']/property[@name='file-icons']/property[@name='show-removable']/@value" \
        #         --value "false" "${FICH_XML}" | sponge "${FICH_XML}"
        DIRECTIVA_XML="/channel[@name='${CANAL}']"
        for PROPIEDAD in $(vx-trim ${DIRECTIVA//\// }); do
            DIRECTIVA_XML+="/property[@name='${PROPIEDAD}']"
        done
        DIRECTIVA_XML+="/@value"
        if "${EJECUTABLE}" edit --update "${DIRECTIVA_XML}" --value "${VALOR}" "${FICH_XML}" | sponge "${FICH_XML}"; then
            "${echo_verde}" "=> ¡¡Ok!! ${FICH_XML} actualizado: ${DIRECTIVA}=${VALOR}"
        else
            "${echo_rojo}" "=> ¡¡Error!! ${FICH_XML} NO actualizado: ${DIRECTIVA}=${VALOR}"
        fi
    fi
}