Enhancing dmenu_run: A Customizable Application Launcher for i3

I wrote a script a while ago that extends the functionality of dmenu_run by allowing me to include custom commands and dynamically generated entries from executable scripts. First of all what is dmenu? Dmenu expects newline-separated items on stdin, shows these items on the top of the screen (configurable) where you can search for the items, then and outputs the selected item to stdout. It's so…