When adding a frame to the desktop it now tries to sensibly position it based on where the last frame was positioned