How can I open an application when a secondary monitor is connected?
Take a look at the free/open source app ControlPlane.

You can trigger different actions based on context-sensitive rules, including launching an app in response to connecting a display.