#compdef web-greeter _webgreeter() { integer ret=1 local -a args local themes=$(ls -1d /usr/share/web-greeter/themes/*/ | cut -c 1- | rev | cut -c 2- | rev | sort | sed 's/\/usr\/share\/web-greeter\/themes\///') args+=( "(-d -n --debug --normal)--mode[Set browser mode]:mode:->modes" "(--debug -d --normal -n --mode)"{--debug,-d}"[Runs the greeter in debug mode]" "(--normal -n --debug -d --mode)"{--normal,-n}"[Runs in non-debug mode]" '--list[Lists available themes]' "--theme[Sets the theme to use]:theme:->themes" "(--help -h)"{--help,-h}"[Show help]" "(--version -v)"{--version,-v}"[Print program version]" "--api-version[Print JavaScript API version number]" ) _arguments $args[@] && ret=0 case "$state" in themes) _files _values 'themes' "${(uonzf)${themes}}" ;; modes) _values 'modes' "debug" "normal" ;; esac return ret } _webgreeter