;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*- ;;; Patch file for System version 122.7 ;;; Reason: ;;; Take the control panel (gauges) into account when doing screen dump with Terminal-Q ;;; Written 27-May-87 19:43:16 by pld (Peter L. DeWolf) at site LMI Cambridge ;;; while running on Azathoth from band 4 ;;; with Experimental System 122.6, Experimental Local-File 73.0, Experimental FILE-Server 22.0, Experimental Unix-Interface 11.0, Experimental Tape 17.0, Experimental Tiger 26.0, Experimental KERMIT 33.0, Experimental ZMail 71.0, Experimental Lambda-Diag 15.0, microcode 1752, SDU Boot Tape 3.12, SDU ROM 102, the old ones. ; From modified file DJ: L.WINDOW; BASSTR.LISP#410 at 27-May-87 19:43:17 #8R TV#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "TV"))) (COMPILER::PATCH-SOURCE-FILE "SYS: WINDOW; BASSTR  " (DEFUN KBD-ESC-Q (ARG &AUX (PRINTER (OR SI:*DEFAULT-BIT-ARRAY-PRINTER* SI:*DEFAULT-PRINTER*))) (IF (STRINGP PRINTER) (SETQ PRINTER (SI:EXPAND-PRINTER-NAME PRINTER))) (IF (GET (IF (CONSP PRINTER) (CAR PRINTER) PRINTER) 'SI:PRINT-BIT-ARRAY) (USING-RESOURCE (ARRAY HARDCOPY-BIT-ARRAY-RESOURCE) (MULTIPLE-VALUE-BIND (NIL WIDTH HEIGHT) (SNAPSHOT-SCREEN (SELECTQ ARG (1 SELECTED-WINDOW) (0 DEFAULT-SCREEN) (4 (DO ((WINDOW SELECTED-WINDOW (SEND WINDOW :SUPERIOR))) ((OR (NULL WINDOW) (TYPEP WINDOW 'BASIC-FRAME)) (OR WINDOW (RETURN-FROM KBD-ESC-Q (TV:NOTIFY NIL "Window or superior not a frame")))))) (OTHERWISE (main-screen-and-who-line))) ARRAY (if (not (or (equal arg 0) (equal arg 1) (equal arg 4))) (+ main-screen-width (if (and (boundp 'fancy-landscape) fancy-landscape) control-panel-width 0)))) (BEEP) (let ((left 0) (top 0) (right width) (bottom height)) (when (eq arg 3) (let ((h (if (atom *terminal-3-q-margin*) *terminal-3-q-margin* (car *terminal-3-q-margin*))) (v (if (atom *terminal-3-q-margin*) *terminal-3-q-margin* (cadr *terminal-3-q-margin*)))) (setq left h right (- right h) top v bottom (- bottom v)))) (HARDCOPY-BIT-ARRAY ARRAY left top right bottom ':PRINTER PRINTER)))) (TV:NOTIFY NIL "I don't know a printer that can hardcopy the screen"))) ))