And it seems when a screenlet is loaded during these changes, it will place itself wrong. I think that the solution would be to delay starting of screenlets, i. e. in ~/.config/autostart/*Screenlet.desktop add on the "Exec= sleep 5 && python -u ..." to delay starting the screenlet 5 seconds later (when Unity is probably already loaded).
If you have this problem and this solution works, please tell us so, maybe this bug can be fixed for good.
It seems that the problem is caused by Unity changing screen parameters in the middle of a screenlets loading/drawing themselves.
There are things in the logs like:
Screen geometry changed decorator
Starting unity-window-
DEBUG 2011-11-04 20:01:21 glib <unknown>:0 Setting to primary screen rect: x=0 y=0 w=1024 h=768
And it seems when a screenlet is loaded during these changes, it will place itself wrong. I think that the solution would be to delay starting of screenlets, i. e. in ~/.config/ autostart/ *Screenlet. desktop add on the "Exec= sleep 5 && python -u ..." to delay starting the screenlet 5 seconds later (when Unity is probably already loaded).
If you have this problem and this solution works, please tell us so, maybe this bug can be fixed for good.