    
    
    
                           SDFilter User's Guide
    
                              Matthew Madison
                  Center for Interactive Computer Graphics
                      Rensselaer Polytechnic Institute
                               Troy, New York
    
    
    Introduction
    
    The VMS Workstation Software "print (porition of) workstation 
    screen" feature was developed mainly to support printers attached 
    locally to a workstation.
    
    If you run a publically-accessible Local-Area VAXcluster of 
    workstations, the feature is nearly useless and can be a security 
    risk when users try selecting new and different print destinations 
    (Note: the security risk was eliminated by the April 1988 security 
    patch sent out by Digital). In addition, all screen dumps are 
    printed under username SYSTEM, making accounting impossible.
    
    SDFilter (Screen Dump Filter) is a program designed to ease the 
    centralized printing of VWS screen dumps.  The program runs as a 
    detached process on each workstation, filtering screen dump 
    requests.  Through the use of logical names, SDFilter directs screen 
    dumps to an appropriate print queue, provides appropriate page 
    selection and SIXEL setup parameters, and prints a one-line header 
    identifying the plot origin (username, node name, and site name).
    SDFilter will only allow screen dumps to be printed if a user is 
    logged into the workstation, and that user is charged for the print 
    job.
    
    
    Installing SDFilter
    
    SDFilter needs to be started up each time the workstation reboots.  
    The following commands should be added to the workstation's system 
    startup sequence:
    
    	 $ DEFINE/SYSTEM SDF_QUEUE queue_name
    	 $ DEFINE/SYSTEM SDF_HEADER header_info
    	 $ DEFINE/SYSTEM SDF_ORIENTATION page_select_info
    	 $ DEFINE/SYSTEM SDF_SIXEL_PARAMETERS sixel_setup_info
    	 $ RUN/DETACHED/OUTPUT=NL:/PROCESS="SDFilter"-
    	 /PRIV=(NOSAME,TMPMBX,NETMBX,WORLD,SYSNAM,SYSPRV,CMKRNL,PRMMBX)-
    	 device:[directory]SDFILTER
    
    Each of the logical names are explained in detail below.
    
    SDF_QUEUE selects the print queue to which screen dumps should be 
    sent.  If not defined, it defaults to SYS$PRINT.  The print queue 
    should be for some Sixel-capable device.  SDFilter has been tested 
    with the LN03 Plus laser printer.
    
    The queue should be setup so that a form feed occurs between jobs.  
    One way to do this is to use the /SEPARATE=(RESET:xx) qualifier on 
    the INITIALIZE/QUEUE command, where the reset sequence contains a 
    form feed.
    
    For systems that would like to dedicate a printer only to screen 
    dumps, the protection on the print queue can be set up so that 
    WORLD has no access, since SDFilter gains access via SYSTEM 
    protection.
    
    SDF_HEADER specifies the appearance of the header line that appears 
    at the top of each screen dump.  The form of the header information 
    is "jn,site", where the "j" is a letter defining the justification 
    to be used (L for left, R for right, C for center, or B for Both), 
    the "n" is a number indicating what the length of the header line 
    should be (usually 80 or 132), and "site" is your site name.  If 
    undefined, the header information defaults to "L80,Screen Output" 
    (left justified, width 80, "Screen Output" as site name).
    
    Note: make sure that you have set the printer's width to some large 
    number with SET TERMINAL/WIDTH if you are going to print in 
    landscape mode, or your headers may take up more than one line.
    
    SDF_ORIENTATION specifies the page format for the screen dump.  It 
    should be either "PORTRAIT" or "LANDSCAPE" or an escape sequence 
    that selects the page format.  Using "PORTRAIT" (which is the 
    default) selects DEC LN03 private tall North American format.  Using 
    "LANDSCAPE" selects DEC LN03 private wide North American format.
    
    If you are going to use an escape sequence, make sure the escape 
    sequence includes a PFS (page format select) sequence, a font 
    selection sequence, and a page height sequence.
    
    SDF_SIXEL_PARAMETERS specifies the sixel graphics setup control 
    sequences used for each screen dump.  They should consist of a 
    comma-separated list of assignment statements for sixel control 
    parameters as used in the following control sequences:
    
    Set Size Unit: CSI <SSU> SP I
    Enter Sixel Mode: DCS <PS1> ; <PS2> ; <PN3> q
    Raster Attributes (DECGRA): " <PN4> ; <PN5> ; <PN6> ; <PN7>
    
    SSU	      size unit selector (default is SSU=2)
    PS1	      macro parameter (default is PS1=0)
    PS2	      background color (default is PS2=0)
    PN3	      horizontal grid size (default is PN3=2)
    PN4	      vert/horiz aspect ratio numerator (default is PN4=200)
    PN5	      vert/horiz aspect ratio denominator (default is PN5=100)
    PN6	      height of image (default is PN6=6)
    PN7	      width of image (default is PN7=200)
    
    Not all printers use all of the parameters; see your printer's 
    programmer's reference for more information.
    
    Only those parameters listed in the SDF_SIXEL_PARAMETERS string are 
    affected; all others take the defaults listed above.  An example for 
    use on an LN03 Plus in landscape mode is:
    
    	 $ DEFINE/SYSTEM SDF_SIXEL_PARAMETERS "PS1=3,PN3=3"
    
    These parameters allow a full screen dump to fit on an 8 1/2 by 11 
    inch page in landscape mode.
    
    
    Other Setup Information
    
    When SDFilter starts up, it creates a mailbox with a logical name of 
    SDF_MBOX.  You should set the workstation print destination to 
    "SDF_MBOX:" and have print requests handled immediately in order to 
    have SDFilter work properly.  You should probably disable changes to 
    print settings (as described in section 2.6 of the workstation 
    software User's Guide) to make sure that screen dumps always go 
    through SDFilter.  Other features you want to disable are "Use 
    default settings" and "Save current settings" -- once you have saved 
    the settings with these print setup changes.
    
    
    Changing SDF Settings
    
    SDFilter reads the SDF logical names for each screen dump, so you 
    can change them "on the fly" without having to restart the SDFilter 
    process.  This is helpful when you want to experiment the Sixel 
    parameter settings right for your printer.
    
    
    Contacting the Author
    
    Comments, suggestions, and questions about SDFilter can be directed 
    to the author via electronic mail at one of the following addresses:
    
    Internet: madison@cicgj.rpi.edu
    BITNET:   madison@rpicicge
    
    
    Copyright Notice
    
    COPYRIGHT © 1988, RENSSELAER POLYTECHNIC INSTITUTE.  ALL RIGHTS 
    RESERVED.  Permission is given to redistribute this software for 
    non-commercial purposes provided no there is no charge for the 
    distribution beyond handling and materials costs.
    
    DISCLAIMER: This software is provided "as is".  Neither the author 
    nor Rensselaer Polytechnic Institute makes any guarantee as to the 
    suitability, usefulness, performance, or security of the software.
