(FILECREATED "17-Nov-87 20:27:04" {PHYLUM}<CAMERON>LISP>INVISIBLEWINDOW.;2 3151
changes to: (VARS INVISIBLEWINDOWCOMS)
(FNS WHICHW)
(PROPS (INVISIBLEWINDOW MAKEFILE-ENVIRONMENT))
previous date: " 9-Dec-86 18:05:20" {FS7:PARC:XEROX}<CAMERON>LISP>INVISIBLEWINDOW.;1)
(* "
Copyright (c) 1986, 1987 by Andrew J Cameron, III and Xerox Corporation. All rights reserved.
")
(PRETTYCOMPRINT INVISIBLEWINDOWCOMS)
(RPAQQ INVISIBLEWINDOWCOMS ((* Original Author: Unknown)
(* Modifications by: Andrew J. Cameron, III)
(*)
(PROP MAKEFILE-ENVIRONMENT INVISIBLEWINDOW)
(* Get record definitions required for redefinition of WHICHW.)
(DECLARE: EVAL@LOAD EVAL@COMPILE DONTCOPY (FILES (LOADCOMP)
WINDOW))
(* Save original definiton of WHICHW for poossible later recovery.)
(P (LET [(TEMP (GENSYM (QUOTE WHICHW]
(PUTD TEMP (GETD (QUOTE WHICHW)))
(PRINTOUT T "Original WHICHW definition stored on " TEMP "." T)))
(* Redefine WHICHW to inplement invisible windows.)
(FNS WHICHW)))
(* Original Author: Unknown)
(* Modifications by: Andrew J. Cameron, III)
(*)
(PUTPROPS INVISIBLEWINDOW MAKEFILE-ENVIRONMENT (PACKAGE "INTERLISP" READTABLE "OLD-INTERLISP-FILE"))
(* Get record definitions required for redefinition of WHICHW.)
(DECLARE: EVAL@LOAD EVAL@COMPILE DONTCOPY
(FILESLOAD (LOADCOMP)
WINDOW)
)
(* Save original definiton of WHICHW for poossible later recovery.)
(LET [(TEMP (GENSYM (QUOTE WHICHW]
(PUTD TEMP (GETD (QUOTE WHICHW)))
(PRINTOUT T "Original WHICHW definition stored on " TEMP "." T))
(* Redefine WHICHW to inplement invisible windows.)
(DEFINEQ
(WHICHW
[LAMBDA (X Y SCREEN) (* ; "Edited 17-Nov-87 19:53 by andyiii")
(* ;; "This redefinition of WHICHW adds the feature that if a window has an INVISIBLE T window property, the window manager won't see it unless the meta-key is down.")
(SETQ SCREEN (\INSURESCREEN SCREEN))
(COND
((POSITIONP X)
(WHICHW (fetch (POSITION XCOORD) of X)
(fetch (POSITION YCOORD) of X)
SCREEN))
(T (for (WINDOW ← (fetch (SCREEN SCTOPW) of SCREEN)) by (fetch (WINDOW NEXTW) of WINDOW)
while WINDOW thereis (AND (INSIDE? (fetch (WINDOW REG) of WINDOW)
X Y)
(OR (NOT (WINDOWPROP WINDOW (QUOTE INVISIBLE)))
(SHIFTDOWNP (QUOTE META])
)
(PUTPROPS INVISIBLEWINDOW COPYRIGHT ("Andrew J Cameron, III and Xerox Corporation" 1986 1987))
(DECLARE: DONTCOPY
(FILEMAP (NIL (2076 3034 (WHICHW 2086 . 3032)))))
STOP