;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*- ;;; Patch file for System version 121.2 ;;; Reason: ;;; Fix brain damage in TV::SET-CONSOLE-SIZE that assumes only ;;; portait or landscape mode. Fancy landscape will now work. ;;; Written 31-Dec-86 14:06:47 by EFH at site LMI Cambridge ;;; while running on Lene Lovich from band 2 ;;; with Experimental System 121.1, Experimental Lambda-Diag 15.0, Experimental ZMail 70.0, Experimental KERMIT 32.0, Experimental Unix-Interface 10.0, Experimental Local-File 72.0, Experimental FILE-Server 21.0, Experimental Tape 13.0, microcode 1729, SDU Boot Tape 3.14, SDU ROM 102. ; From modified file DJ: L.WINDOW; SHWARM.LISP#369 at 31-Dec-86 14:07:00 #8R TV#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "TV"))) (COMPILER::PATCH-SOURCE-FILE "SYS: WINDOW; SHWARM  " (DEFUN SET-CONSOLE-SIZE (WIDTH HEIGHT) (DELAYING-SCREEN-MANAGEMENT (WITH-MOUSE-USURPED (LOCK-SHEET (MAIN-SCREEN) (LOCK-SHEET (WHO-LINE-SCREEN) (WITHOUT-INTERRUPTS (LET ((MS MOUSE-SHEET) (SW SELECTED-WINDOW)) (WHEN (SHEET-ME-OR-MY-KID-P MS MAIN-SCREEN) (SETQ MOUSE-SHEET NIL)) (SEND WHO-LINE-SCREEN :DEEXPOSE) (SEND MAIN-SCREEN :DEEXPOSE) (INITIALIZE-RUN-LIGHT-LOCATIONS) (SI::CLEAR-SCREEN-BUFFER SYS:IO-SPACE-VIRTUAL-ADDRESS) (SETQ MAIN-SCREEN-HEIGHT HEIGHT) (SETQ MAIN-SCREEN-WIDTH WIDTH) (SEND WHO-LINE-SCREEN :CHANGE-OF-SIZE-OR-MARGINS :WIDTH WIDTH :TOP (- HEIGHT (SHEET-HEIGHT WHO-LINE-SCREEN))) (SEND MAIN-SCREEN :CHANGE-OF-SIZE-OR-MARGINS :WIDTH WIDTH :HEIGHT (- HEIGHT (SHEET-HEIGHT WHO-LINE-SCREEN))) (COND ((> WIDTH 800.) (SEND WHO-LINE-RUN-STATE-SHEET :CHANGE-OF-SIZE-OR-MARGINS :LEFT 328. :RIGHT 520.) (SEND WHO-LINE-FILE-STATE-SHEET :CHANGE-OF-SIZE-OR-MARGINS :LEFT 520. :RIGHT width) (SEND WHO-LINE-DOCUMENTATION-WINDOW :CHANGE-OF-SIZE-OR-MARGINS :WIDTH width)) (T (SEND WHO-LINE-RUN-STATE-SHEET :CHANGE-OF-SIZE-OR-MARGINS :LEFT 328. :RIGHT 480.) (SEND WHO-LINE-FILE-STATE-SHEET :CHANGE-OF-SIZE-OR-MARGINS :LEFT 480. :RIGHT width) (SEND WHO-LINE-DOCUMENTATION-WINDOW :CHANGE-OF-SIZE-OR-MARGINS :WIDTH width))) (SEND WHO-LINE-SCREEN :EXPOSE) (SEND MAIN-SCREEN :EXPOSE) (MOUSE-SET-SHEET MAIN-SCREEN) (WHEN SW (SEND SW :SELECT))))))) (DOLIST (RESOURCE-NAME WINDOW-RESOURCE-NAMES) ;; this loses for things like pop-up-finger-window which we would like to be ;; full screen width on all monitor configurations. (SI:MAP-RESOURCE (LAMBDA (WINDOW &REST IGNORE) (OR (TYPEP WINDOW 'INSTANCE) (FERROR "Lossage")) (IF (TYPEP WINDOW 'TV:BASIC-MENU) (LET ((GEO (SEND WINDOW :GEOMETRY))) (DO ((L GEO (CDR L))) ((NULL L)) (SETF (CAR L) NIL))) (LET* ((SUPERIOR (SEND WINDOW :SUPERIOR)) (BOTTOM (SEND WINDOW :HEIGHT)) (SUPHEIGHT (OR (SEND-IF-HANDLES SUPERIOR :INSIDE-HEIGHT) (SEND SUPERIOR :HEIGHT)))) (IF (> BOTTOM SUPHEIGHT) (SEND WINDOW :SET-SIZE (SEND WINDOW :WIDTH) SUPHEIGHT))))) RESOURCE-NAME))) (INITIALIZE-RUN-LIGHT-LOCATIONS) ;everything is really the right size now. T) ))