#!/usr/bin/env bash

read -r -d '' awkscript <<- 'EOF'
{
	if ($1 == "name") {
		print FILENAME":"$2;
	}
	if ($1 == "protocol") {
		print "("$2")";
	}
}
EOF

getentry() {
	awk -F'=' "$awkscript" "$1" | paste -sd' '
}

export awkscript
export -f getentry

groups=$(ls -1 ~/.local/share/remmina/ | cut -d_ -f1 | uniq)
groupcnt=$(wc -l <<<$groups)

while true; do
	if [ "$groupcnt" -eq 1 ]; then
		group=$groups
	else
		group=$(echo -e "$groups" | fuzzel --dmenu)
	fi
	[ -z "$group" ] && exit

	entries=$(find ~/.local/share/remmina/ -name "$group*" -type f -exec bash -c "getentry {}" \; )
	#echo -e "$entries"

	fuzcmd="fuzzel --dmenu --terminal='' --with-nth=2 --accept-nth=1 --nth-delimiter=: --hide-prompt"
	selected=$(echo -e "$entries" | $fuzcmd 2>/dev/null | tail -n1)
	[[ $selected =~ delim ]] && [ "$groupcnt" -gt 1 ] && continue
	break
done

remmina -c "$selected"
