I use i3 on my laptop, where I routinely connect and disconnect external displays. I wrote a small program to deal with that: http://github.com/mortie/dedaemon
That tool also handles input stuff (like setting the keyboard layout when a keyboard is connected, or setting the mouse speed when a mouse is connected), and setting the wallpaper (because the wallpaper has to be re-applied when a display is connected). Here's the config file I personally use: https://github.com/mortie/nixConf/blob/master/.dedaemon.hcnf
If you do end up trying it out, feel free to pm me (mort@irc.freenode.net) or open a github issue if you have any questions or problems.