/Shortfileretry flag


The /Shortfileretry flag will let PMView wait for more data to be available when PMView is loading an incomplete file and comes to the (unexpected) end of the file.


Warning! This option makes PMView update the display line by line, thus the painting will be much slower than usual. Don't use this option unless you need it.


If this flag is used when loading a short file (that is, a file that has not been fully written to disk yet and data is missing at the end of the file) PMView will wait for more data to be written to the file and progressively update the image until all data has arrived. If the writing application closes the file PMView will assume that the file is completely written and stop waiting.


You can for instance use this feature with terminal emulators or with your favorite ray-tracer to progressively view files as they are downloaded/created.


Note that the other application that writes the file must have opened it with shared read access. If this isn't true, PMView will not have rights to access the file and will thus fail with a file open error. Furthermore the writing application must write the file sequentially, from start to end. This option may not work correctly with non-sequential file formats like TIFF, PIC and 256-color PCX that require random access to the file. In this case the file cannot and will not be displayed until all data has arrived, i.e. the whole file is written.


Some applications write files in several steps. After each step the file is closed and reopened when the next pass starts. (For instance, POV-Ray may do this.) If this happens, and PMView gives you an "Unexpected end of file" error, try supplying a timeout value to the /SHO flag. This value tells PMView that if the file is closed, PMView should wait the specified time period (in milliseconds) and check the file again before giving up. So, for instance, if you get "Unexpected end of file" errors while watching POV-Ray render an image, try using "/SHO=250" in the command line when you invoke PMView. Warning! Setting a timeout value will make PMView idle during the specified time after loading is complete. Don't set a timeout value unless you really need it, and try to keep it as small as possible.