I hide/show my desktop icons with a couple of aliases in my .zshrc:
alias dihide="defaults write com.apple.finder CreateDesktop -bool NO && killall Finder"
alias dishow="defaults write com.apple.finder CreateDesktop -bool YES && killall Finder"
This has a couple side effects: clicking on the desktop background doesn't steal focus from the current app, and you can no longer drop files onto the desktop. It doesn't have a pretty UI, but since I've got a terminal open almost all the time, it's just as convenient to me as a menu bar item.