#compdef -P */X11(|R[456])/*

local ret long xargs

xargs=(
  '-display:display:_x_display'
  '-geometry:geometry:_x_geometry'
)

(( $# )) || xargs=( "$xargs[@]" '*:default: _default' )

long=$argv[(I)--]
if (( long )); then
  argv[long]=( "$xargs[@]" -- )
else
  set -- "$@" "$xargs[@]"
fi

_arguments "$@"

ret=$?

[[ "$ret" = 300 ]] && compstate[restore]=''

return ret
