XEROX CHANGEPRINTER 2 4 1 CHANGEPRINTER 1 4 By: Tim Bigham (Unsupported) ChangePrinter provides an interactive menu driven interface for the user who wants to manipulate the order of printer names in the global variable list DEFAULTPRINTINGHOST. It adds an item to the background menu called "Change Printer". This item will pop up a menu of printer names that are in the list DEFAULTPRINTINGHOST. Selecting an item from the printer names will move that printer name to the front of DEFAULTPRINTINGHOST, thus making it the defaultprinter. Choosing "Other" allows the user to type in the name of a printer not currently on DEFAULTPRINTINGHOST. Both Press and Interpress printer names are allowed, so the user may type a name with embedded spaces such as Larry:El Segundo:Xerox. This new printer name will then be added to the front of DEFAULTPRINTINGHOST, automatically making it the defaultprinter. ChangePrinter provides the ability to customize the printer menu so it will provide feedback when the cursor is held over it. This feature is helpful for use in an environment that has many casual or novice users. Customizing the menu entails the creation of another list called CPN.PRINTER.LIST. This list is in the standard Interlisp-D menu form that would be allowed in Menu records (see Interlisp Reference Manual p. 29.34). Briefly, the form of each item in this list should be a triplet of ("Seen Value" "Returned.Value" "Prompt String"). After this list has been created, (CPN.INIT T) must be called to initialize the menu. See CPN.EXAMPLE.PRINTER.LIST for an example. To use: Load the package with: FILESLOAD(CHANGEPRINTER) An item will be added to the background menu and a menu will be built from the value of DEFAULTPRINTINGHOST. User Instructions: 1. Set DEFAULTPRINTINGHOST to contain all the available printers you want to select from. 2. (CPN.INIT) will initialize ChangePrinter and create a menu from the value of DEFAULTPRINTINGHOST. If you provide T as the optional argument (CPN.INIT T), it will build this menu from the value of CPN.PRINTER.LIST. Example: For an example, call (CPN.INIT 'EXAMPLE). It will use the values from the variable CPN.EXAMPLE.PRINTER.LIST . (LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC ) STARTINGPAGE# 1) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC )) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC )) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC )) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC ) STARTINGPAGE# NIL) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC )) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL)))))(È(È (ŠŠ8(ŠŠ8DÈÈ PAGEHEADING RUNNINGHEADMODERN MODERN MODERNLOGOMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN ×kª0m[Üy¤.zº