Get size of unopened windows

I’m looking to get a list of all of the Windows that we have in our SCADA system, and categorise them by main/popup/docked by pulling the info from their config using their size, layer, and docking settings.
I am getting the full list of windows using system.gui.getWindowNames(), but I don’t know where to go to from here to pull out their properties?

I’ve tried using:

from com.inductiveautomation.factorypmi.application import FPMIWindow
windowPaths = system.gui.getWindowNames()
windows = [FPMIWindow(windowPath) for windowPath in windowPaths]

print windows[0].preferredSize

but all I get are 0’s. I presume it’s because the windows aren’t actually open, so really they don’t have a width… How do I get to the config object instead, so that I can read the config I need?