support all options of `open`

`open` seems to only support boolean and string and i've seen it has the ability to supply appName, which is what i needed. Not sure if this is optimal code, open for suggestions.