#!/bin/bash
# lastact: arturo@2023-04-17
# desc: Restaura las configuraciones de xfconf que se hayan preestablecido

DIRBASE="/usr/share/vitalinux/vx-xfconf-data"
[[ ! -d "${DIRBASE}" ]] &&
    echo "Error: No existe el directorio que contiene los datos de xfconf a restaurar: ${DIRBASE}" >&2 &&
    exit 1
for FICH in "${DIRBASE}"/*.data; do
    CANAL="$(basename "${FICH%%.*}")"
    OLDIFS=$IFS
    IFS=$'\n'
    # Equivalente a: grep -v '^ *#' <"${FICH}" | while IFS= read -r line; do
    for VAR in $(cat "${FICH}"); do
        CLAVE="${VAR%%:*}"
        VALOR="${VAR#*:}"
        [[ "${VALOR}" =~ UNSUPPORTED ]] && continue
        xfconf-query -c "$CANAL" -p "$CLAVE" -s "$VALOR" &&
            echo "==> $CANAL: $CLAVE - $VALOR" ||
            echo "##> Error: $CANAL: $CLAVE - $VALOR"
    done
    IFS=$OLDIFS
done
