further refinements so that it works more reliably.
ynchoose now exposes the dmenu function as a variable so that it is easier to change how to display