Updated March 2013; see History
The second special pseudo-device is PROMPT: and applies only to A-Shell/Windows. Instead of specifying the printer device, it causes a standard Windows printer-selection dialog to be invoked, allowing the user to select any available Windows printer. Again, note the trailing colon.
The PROMPT: device should only be used with PASSTHROUGH=OFF, since it cannot be guaranteed that all printer drivers support PASSTHROUGH mode.
When using the PROMPT: device, many of the other parameters within the printer initialization file may be overridden by the selection of the printer in the dialog.
A print request sent to a printer named PROMPT, will, if no printer ini file is found, be treated as if DEVICE=PROMPT: and PASSTHROUGH=OFF. (This makes "PROMPT" a very useful default spooler name under A-Shell/Windows.)
The printer selection dialog triggered by DEVICE=PROMPT: must be executed in a client A-Shell/Windows context. If it occurs in the context of an ATE connection to an A-Shell/Windows server (using ATSD), it will be automatically re-interpreted as DEVICE=AUXLOC:PROMPT: so that it gets forwarded to the ATE client where the printer selection dialog can be displayed. This however, defeats the effect of most other printer init commands in the printer ini file on the server, overriding them with options set in the ATE client Connection Properties > Printer dialog. To force the other options in the original (server-side) printer ini file to be processed on the client side, replace the DEVICE=PROMPT: in the server-side printer ini file with an explicit DEVICE=AUXLOC:printername where printername is the name of a printer ini file installed on the ATE client. (i.e. sys:printername.ini or ashcfg:printername.pqi). That printer ini file should be a copy of the original printer ini file on the server, with only the DEVICE statement changed to DEVICE=PROMPT: .
Beginning with A-Shell 6.1.1342 of March 2013, the Windows default printer may be specified with the DEVICE statement:
DEVICE=PROMPT(DEFAULT):
This is identical to PROMPT:, except that it ignores the last used printer and instead defaults to the system default printer. This is useful in places where printers come and go, and defaulting to the last used printer can cause confusion or worse when the last used printer is no longer present.
Warnings
The printername can be PROMPT, but if so, be careful not to include the trailing colon in the DEVICE=AUXLOC:PROMPT statement. While both PROMPT and PROMPT: will result in the printer selection dialog being displayed, PROMPT: (with a trailing colon) is a pseudo-device which does not have an associated printer ini file, while PROMPT (without the colon) is a logical printer name that can be associated with a printer ini file (which was the whole point of the exercise just described above).
Although it is possible for the server-side and client-side printer ini files to have the same name, this is probably not a good idea. For one reason, you may confuse the two files when transferring them. And for another, if the server and client happen to share the same DSK0: (either because they are the same physical machine, or share a network drive on a LAN), then it would be impossible for the two variations using the same name to coexist.
History
2024 February, A-Shell 7.0.1755: Windows 11 printing refinement: A-Shell/Windows and ATE now force Windows to use the traditional print dialog rather than the newfangled Windows 11 version, which isn't well suited to our purposes.
2013 March, A-Shell 6.1.1342: Add support for Windows default printer with DEVICE=PROMPT(DEFAULT):
2008 September, A-Shell 5.1.1124: When attempting to print to the PROMPT: device in a non-local Windows, the DEVICE is automatically changed to DEVICE=AUXLOC:PROMPT: to forward to the PC client. This should eliminate a number of tech support issues that relate to attempting to print to the PROMPT: device on an ATSD server. It may also eliminate at least one cause of a file being left in-use after a failed attempt at printing.