#!/bin/bash

config_dir=${XDG_CONFIG_HOME:-$HOME/.config}
# Copy only new files from /etc/xdg/autostart/
mkdir -p $config_dir/autostart
rsync -aq --ignore-existing /etc/xdg/autostart/ $config_dir/autostart/

# check if line starting with Hidden exist, if not add Hidden=false
for f in $config_dir/autostart/*.desktop; do
grep -q "Hidden=" $f && echo "yes" || echo "Hidden=false" >> $f
done 

results=$(mktemp --tmpdir autostart.XXXXXXXXXX)

for f in $config_dir/autostart/*.desktop; do
        [ "$(grep -m 1 -e '^[[:blank:]]*Hidden' $f | cut -d = -f 2)" == "true" ] && echo false  || echo true
        echo $f
        grep -m 1 -e '^[[:blank:]]*Name=' $f | cut -d = -f 2
        #grep -m 1 -e '^[[:blank:]]*Exec' $f | cut -d = -f 2
        comment=$(grep -m 1 -e '^[[:blank:]]*Comment=' $f | cut -d = -f 2)
        [ ! -z "$comment" ] && echo $comment || echo "brak opisu"
done | yad --width=400 --height=400 --title="Mabox XDG Autostart editor" --image="gtk-execute" \
           --text="Dodaj/usuń programy z autostartu" --list --print-all --bool-fmt="t" \
           --checklist --column="wł:CHK" --column="File:HD" --column="Nazwa" --column="Komentarz:HD" --tooltip-column=4 > $results

if [[ ${PIPESTATUS[1]} -eq 0 ]]; then
    i=0
    cat $results | while read line; do
        eval $(echo $line | awk -F'|' '{printf "export HIDDEN=\"%s\" FILENAME=\"%s\"", $1, $2 }')
        
        [ $HIDDEN == "true" ] && HIDDEN="false" || HIDDEN="true"
        echo "Hidden=$HIDDEN, File: $FILENAME"
        sed -i'.temp' -e 's/^Hidden.*$/Hidden='"$HIDDEN"'/g' $FILENAME
        rm $FILENAME.temp
    ((i++))
    done
    unset NAME HIDDEN FILENAME comment
fi

rm -f $results
exit 0