From e4641d8515b7ee3c12cacbc127ca9137775ad182 Mon Sep 17 00:00:00 2001 From: Frank Halasz Date: Fri, 7 Nov 2025 17:48:24 -0800 Subject: [PATCH] Lispusers package KINETIC: add CLOSEFN to Kinetic window so that kinetic activity stops and window closes when CLOSEW is called .. (#2351) * Add a CLOSEFN to KINETIC window that forces the kinetic to stop and exit when closew is called. * Reset the window close flag after window is closed so that can repeatedly close and open the KINETICWINDOW. --- lispusers/KINETIC | 46 +++++++++++++++++++++-------------------- lispusers/KINETIC.LCOM | Bin 1224 -> 1575 bytes 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/lispusers/KINETIC b/lispusers/KINETIC index 48cafeaa..ce0a380b 100644 --- a/lispusers/KINETIC +++ b/lispusers/KINETIC @@ -1,16 +1,14 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "23-Sep-2022 08:19:41" {DSK}larry>medley>lispusers>KINETIC.;2 1928 +(FILECREATED " 1-Nov-2025 20:26:43" {DSK}frank>il>medley>lispusers>KINETIC.;5 2264 + + :EDIT-BY "FGH" :CHANGES-TO (FNS KINETIC) - :PREVIOUS-DATE " 2-Apr-86 00:14:01" {DSK}larry>medley>lispusers>KINETIC.;1) + :PREVIOUS-DATE "23-Sep-2022 08:19:41" {DSK}frank>il>medley>lispusers>KINETIC.;1) -(* ; " -Copyright (c) 1982, 1985-1986, 2022 by Xerox Corporation. -") - (PRETTYCOMPRINT KINETICCOMS) (RPAQQ KINETICCOMS ((FNS KINETIC) @@ -20,26 +18,31 @@ Copyright (c) 1982, 1985-1986, 2022 by Xerox Corporation. (DEFINEQ (KINETIC - [LAMBDA (WINDOW) (* ; "Edited 22-Sep-2022 22:07 by lmm") + [LAMBDA (WINDOW) (* ; "Edited 1-Nov-2025 20:23 by FGH") + (* ; "Edited 22-Sep-2022 22:07 by lmm") (* lmm " 3-Dec-85 14:16") - (* test example (KINETICDEMO) - (SETQ CHECKSHADE (EDITSHADE CHECKSHADE))) [OR (WINDOWP WINDOW) (SETQ WINDOW (OR KINETICWINDOW (SETQ KINETICWINDOW (CREATEW NIL "Kinetic Window"] + [OR (WINDOWPROP WINDOW 'CLOSEFN) + (WINDOWPROP WINDOW 'CLOSEFN (FUNCTION (LAMBDA (W) + (WINDOWPROP W 'CLOSE T] + [WINDOWPROP WINDOW 'CLOSEFN (FUNCTION (LAMBDA (W) + (WINDOWPROP W 'CLOSE T] (PROG ((WD (WINDOWPROP WINDOW 'WIDTH)) (HT (WINDOWPROP WINDOW 'HEIGHT)) X Y) - (do (SETQ X (RAND 0 WD)) - (SETQ Y (RAND 0 HT)) - (BITBLT NIL NIL NIL WINDOW (RAND 0 (IDIFFERENCE WD X)) - (RAND 0 (IDIFFERENCE HT Y)) - X Y 'TEXTURE (SELECTQ (RAND 0 5) - (0 'PAINT) - 'INVERT) - (SELECTQ (AND CHECKSHADE (RAND 0 12)) - (0 CHECKSHADE) - BLACKSHADE)) - (BLOCK 100]) + (while (NEQ (WINDOWPROP WINDOW 'CLOSE) + T) do (SETQ X (RAND 0 WD)) + (SETQ Y (RAND 0 HT)) + (BITBLT NIL NIL NIL WINDOW (RAND 0 (IDIFFERENCE WD X)) + (RAND 0 (IDIFFERENCE HT Y)) + X Y 'TEXTURE (SELECTQ (RAND 0 5) + (0 'PAINT) + 'INVERT) + (SELECTQ (AND CHECKSHADE (RAND 0 12)) + (0 CHECKSHADE) + BLACKSHADE)) + (BLOCK 100) finally (WINDOWPROP WINDOW 'CLOSE NIL]) ) (RPAQQ CHECKSHADE 63903) @@ -47,7 +50,6 @@ Copyright (c) 1982, 1985-1986, 2022 by Xerox Corporation. (RPAQQ KINETICWINDOW NIL) (ADDTOVAR IDLE.FUNCTIONS (Kinetic 'KINETIC)) -(PUTPROPS KINETIC COPYRIGHT ("Xerox Corporation" 1982 1985 1986 2022)) (DECLARE%: DONTCOPY - (FILEMAP (NIL (573 1723 (KINETIC 583 . 1721))))) + (FILEMAP (NIL (534 2130 (KINETIC 544 . 2128))))) STOP diff --git a/lispusers/KINETIC.LCOM b/lispusers/KINETIC.LCOM index e6e4c426151c89357e68ce131cb5f388584284f5..1e5025ef0ab11800b0304291a20d04bdd4ce6140 100644 GIT binary patch literal 1575 zcmb_cO^?$?7!HL>#f1t~&ghkegne-28Gqmy6yeyDct~n{?a5|W;zHMfb;u^G-KAB9 zs!E7Iz@f+ff}X171cyEMC-mGuz(3f&{)ot?l`15B7{4F$KJz>??~D?#K988z=Od=^ zs2{`a#Pf&VfPu^-!O{`W5*co%%nO9q8*PMpUdDjvsw62Tf{)V#3qS^C+^X|bkpHF}4&Wq#27su11 zi@DgjZbC^l-ee^EZ{=x?IQL5Ae6!NLoXVzOcOCE{V0P*o(gV~vTYuZGcCY91eqFI zHa#qrQqUcjbX=3jAbr}N5mjmy@N``#;0BJQaL{3*LhGAWt99w&GaOsR*X4Mlr4Rzi zSWI{n#FHeA6WkgL{85}Sv@U?r&jnWFBw)ZUBtT&YM*^Y1AMy;KqFWJyKA5Wwt0`gx z>4nT6W}z1_6!rI&FHqFgQqJiuk^jCdEvX##zWTm(R%iaabNX#9yi#9@Kidq{epR|= z-jpw|dBum{YHz>7*uOCgtAckkUj5(i=lR1~_~@_7oAF_7JQ`N(&gNg%@ejXN{_AQS zzm;b5Yfa+K_|@Y4{CdrBo>#ig{y6`orBF(sH;VlsP+~xji{3~8>2x6Vq5#M}voWky z#L}CHVK)YK8iRB$o;qG>69%m5gK@^vvKOGEe+*WEd!3Dd?Q8&98~p?ZfyX?`#wlw~ zkm^uB8xuUrrtz@Xh~of{wpogz914ktuMrU22Eld&Rs%uRRbv8bt_{b6knsVw4yvE< zK!ji$tA;5r00qmb=k_Bo?e!D^ldMv>JP-@yVX>H=6nii!7WwkW@|nOpD#WfIf0v{s zpXP3%pJ6ghysfSE7$_I7xU%h~87Lq773p*VMUK}~JTh#Xo< zXhU8gLB~8m54i;L0KN7t@+y(ymZUVxFkk$4_Q$Y4U;M6IjP`I-4x_b<6^ubKOw=|t z{qpmh@?xAMUoS6e-*FuT5#vV{#-@TY6Jauqm+QsB4CX5kyF=H7r@BU?A;N5Y63yVb z`>I$Mq%L)d9T1BXClmdLq9Sn@zB%FG^!=xJ86EzG+Q)#}*Z|Y+TdYSynR_60Stz7G zim%@RmaTOn8!b>26R8iV&kRZLib8r`VsEduONHWxN+CP9dwg~s=b4bZ>CU9^E3Iu+ zQ-3R3+*}nTq$$vGJ$nF1#n7R=<8nY5N?I(PT Ce2cvR