#!/bin/bash

ENABLED=yes
[[ ${ENABLED} == "yes" ]] || exit 0

SOURCE=/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/kiosk; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

    if [[ -n ${XFCE4_XFCONF[@]} ]]; then
	for CHANNEL_PROPERTY in "${!XFCE4_XFCONF[@]}"; do
	    USERS=$(cut -d: -f1 <<< ${CHANNEL_PROPERTY} | tr " ,;" "\n")
	    # Выбрать пользователей из указанных групп @..
	    USERS_GROUP=$(grep "^@" <<< ${USERS} | tr -d "@" | xargs -rl getent group | cut -d: -f4 | tr "," "\n")
	    if [[ -z ${USERS} ]] || grep -q "^${USER}$" <<< ${USERS} || grep -q "^${USER}$" <<< ${USERS_GROUP}; then
		CHANNEL=$(cut -d: -f2 <<< ${CHANNEL_PROPERTY})
		PROPERTY=$(cut -d: -f3 <<< ${CHANNEL_PROPERTY})
		TYPE=$(cut -d: -f1 <<< ${XFCE4_XFCONF[${CHANNEL_PROPERTY}]})
		SET=$(cut -d: -f2 <<< ${XFCE4_XFCONF[${CHANNEL_PROPERTY}]})
		if [[ ${TYPE,,} == "reset" ]]; then
		    xfconf-query --channel "${CHANNEL}" --property "${PROPERTY}" --reset --recursive
		else
		    xfconf-query --channel "${CHANNEL}" --property "${PROPERTY}" --create --type "${TYPE}" --set "${SET}"
		    # Дописать для массивов, где --type и --set несколько, пример
		    # xfconf-query --channel "xfce4-panel" --property "/panels/panel-2/plugin-ids" --create --type "int" --type "int" --set "12" --set "14"
		    # Добавить условие, если --channel "xfce4-panel", то `xfce4-panel -r`
		fi
	    fi
	done
    fi
    
