tool to remember window positions when I plug in/unplug an external display
Slate allows giving windows different default positions depending on the connected displays. See the developer's configuration file for some examples.