I was trying to fix a bug and ended up re-writing most of sx-open. It has a fancy/friendly config now, so if that was stopping you from using it — there you go :)
It also supports a '%target%' macro in the command part, for complex handlers. Can be specified multiple times. See config for an example.