extract dmenu sourcing into separate function