This sounds very much like a race. calibre restores its window geometry at some point in its startup. Probably something else on your computer is also trying to change the window geometry during the startup. Depending on which "loses" the final geometry is either correct or not. One obvious candidate is windows itself via shortcut properties, but you have eliminated that.
See the call to read_settings() in gui2/ui.py
You can try moving the window geometry restore from read_settings() and puttin it by itself in a new function which you can call via a timer at the end of initialize(). By changing the timeout, you can ensure calibre always loses the race.
|