Prompt.Shell's shellPrompt function works well except that I couldn't make it auto-select the first entry of the possible completions. If it did that, it would be a perfect dmenu replacement. xmonad and xmonad-contrib both are at 0.10. Haven't configured any non-default behavioral XPConfig settings.