#!/bin/zsh
setopt no_unset extended_glob warn_create_global
typeset -gA clipboards
typeset -ga labels

print_choices() {
	local label
	for label in $labels; do
		printf '%s » %s\n' $label ${clipboards[$label]//$'\n'}
	done
}
main() {
	s6-sudo /run/cmd.s link xpra.$USER xsession.${DISPLAY#:}.$USER run/exec/exec || exit $?
	local label content
	for label content in ${(0)"$(s6-sudo /run/inbox/xpra.ccx/run/exec/exec clip -0)"}; do
		labels+=( $label )
		clipboards[$label]=$content
	done
	local choice
	choice=$(print_choices | dmenu -l $#labels -fn Terminus) || exit $?
	choice=${choice%% » *}
	printf "%s" $clipboards[$choice]
}
typeset -f -t main

main "$@"