Desk Accessories: Desk Accessories are similar to applications except that they have the memory that they reside in saved to disk first. This means that they should be relatively short programs. To decide whether something should be a desk accessory or an application, one need only determine whether it is necessary to be able to run the program from within another application (i.e. like running Photo Manager from GEOpaint). Desk accessories also have some restrictions that do not apply to applications. In order for a desk accessory to open a window, the window storage area must be saved and later restored. This is because GEOS saved everything before executing the desk accessory. To terminate a desk accessory, the vector IMainLoop should be loaded with RstrAppl and an RTS should be made. More on the RTS in a moment. Another means of terminating a desk accessory is simply to jump to RstrAppl. It is the desk accessory's responsibility to clean up after itself and to take itself out of memory. Since the DoDlgBox command causes some system-wide variables to be saved before presenting itself, and desk accessories do the same thing in the SAME PLACE, it is not wise to use dialog boxes in desk accessories. It is possible, however. All your need to do is copy the 417 bytes at location $8F15 to a buffer of the same size which you maintain. Then, after the dialog box has returned, restore the same.