So keeping the logic inside assignFrame seems to solve the issue with windows being resized when they are larger than the screen.  Could it just be that we'll have to accept the double padding between windows?