From dbeffb7e6f6e3d6d8400370eab8e99a2ecad5bb4 Mon Sep 17 00:00:00 2001 From: Frank Halasz Date: Sat, 1 Nov 2025 16:53:16 -0700 Subject: [PATCH 1/2] Add a CLOSEFN to KINETIC window that forces the kinetic to stop and exit when closew is called. --- lispusers/KINETIC | 41 +++++++++++++++++++++-------------------- lispusers/KINETIC.LCOM | Bin 1224 -> 1367 bytes 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/lispusers/KINETIC b/lispusers/KINETIC index 48cafeaae..06b4fb9fd 100644 --- a/lispusers/KINETIC +++ b/lispusers/KINETIC @@ -1,15 +1,13 @@ (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 16:51:39" {DSK}frank>il>medley>lispusers>KINETIC.;2 2262 - :CHANGES-TO (FNS KINETIC) + :EDIT-BY "FGH" - :PREVIOUS-DATE " 2-Apr-86 00:14:01" {DSK}larry>medley>lispusers>KINETIC.;1) + :CHANGES-TO (FNS KINETIC) + :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) @@ -20,26 +18,30 @@ 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 16:48 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"] + [WINDOWADDPROP 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]) ) (RPAQQ CHECKSHADE 63903) @@ -47,7 +49,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 2128 (KINETIC 544 . 2126))))) STOP diff --git a/lispusers/KINETIC.LCOM b/lispusers/KINETIC.LCOM index e6e4c426151c89357e68ce131cb5f388584284f5..fc4046051558b97c36a0b46ad35da704d7d8ff84 100644 GIT binary patch delta 631 zcmZWl&2G~`7_?IkV5AlmREeLW!9tK65_$a}gDM<*6R%>eEqhbLv1(cx`V)jAE(rAn zK%(-a^vV^9H{dmR1RT52qF%o5(`aUPW`ExLrF<*yf^_-(V^`O73&i#;;+bdf9^c&m zuyb;_H9I={ic?~Clifu_(GAbkJgu){u{%G0fAoBc*$GrXO>H0&=BhN97grXr!XI{eSUc`Ki=EAjP&RkblukB(U6Jm;0+XYIEqww zLFDrh&ATE&d&u+hP<~LZ%NzHUrO!2+hn#ejG2>LQz}Ga5zzbca&7h&^Kw6a~Nq+UV zn$qm{a^8{Jgdm-Wg7GjZ(kw}<78Zgy$!T?!KjcFGUT(IYDz&N>l`mTN*BTe4w)%ZO zD@AMn^vl80&m|bdNiYU+3=EhU!~(?XBlCF(Vwe{P`HK*(LHc&HUANhegAu(5HpywW z3cyGNQl delta 552 zcmZWn!EVz)5N%R8U?C*b0}>$gWL3gBIPz|6$FUH?u{X&o*4nZ+q#OeYP}J6u)dN*k zl?(S)KK3*C3I2cs2Y!Wh9Ek#})y(Y7n|V*8{h@uocQxOmJu_deO=?jJ%k#;=cdkD@ zyL+@K%d_h%TvGa{PN{DZb#=UbR~)a8o-c8D0(~@#W8B7dyImd2#p!AZ{dRuaZ|fb+ z81a~e84Dzf6zD$@wjw!?^6CAH7axn`)yu7(r;k7e)Po;R0x@Q}DH9kYk!#hL*5iFp zGgz0V=fbjlVsDhzL;jxer25s;Dz`0KH`Ukn{+_m@&Z`f#-GmSI-Rfui{pHP$K^zOi zI0>g9HpP(3VJtxue-?-c#OgJHw@vg1&D(Vv@AMmQ_c3O2&P9~W(=18RbN@+D3(Yd- zaL@qVRBefnKDc From ce6b2a2163d7e66bab7af4276dd9364d13ef0959 Mon Sep 17 00:00:00 2001 From: Frank Halasz Date: Sat, 1 Nov 2025 20:30:18 -0700 Subject: [PATCH 2/2] Reset the window close flag after window is closed so that can repeatedly close and open the KINETICWINDOW. --- lispusers/KINETIC | 17 +++++++++-------- lispusers/KINETIC.LCOM | Bin 1367 -> 1575 bytes 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/lispusers/KINETIC b/lispusers/KINETIC index 06b4fb9fd..ce0a380b2 100644 --- a/lispusers/KINETIC +++ b/lispusers/KINETIC @@ -1,6 +1,6 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED " 1-Nov-2025 16:51:39" {DSK}frank>il>medley>lispusers>KINETIC.;2 2262 +(FILECREATED " 1-Nov-2025 20:26:43" {DSK}frank>il>medley>lispusers>KINETIC.;5 2264 :EDIT-BY "FGH" @@ -18,15 +18,16 @@ (DEFINEQ (KINETIC - [LAMBDA (WINDOW) (* ; "Edited 1-Nov-2025 16:48 by FGH") + [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"] - [WINDOWADDPROP WINDOW 'CLOSEFN (FUNCTION (LAMBDA (W) - (WINDOWPROP W 'CLOSE T] + [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) @@ -41,7 +42,7 @@ (SELECTQ (AND CHECKSHADE (RAND 0 12)) (0 CHECKSHADE) BLACKSHADE)) - (BLOCK 100]) + (BLOCK 100) finally (WINDOWPROP WINDOW 'CLOSE NIL]) ) (RPAQQ CHECKSHADE 63903) @@ -50,5 +51,5 @@ (ADDTOVAR IDLE.FUNCTIONS (Kinetic 'KINETIC)) (DECLARE%: DONTCOPY - (FILEMAP (NIL (534 2128 (KINETIC 544 . 2126))))) + (FILEMAP (NIL (534 2130 (KINETIC 544 . 2128))))) STOP diff --git a/lispusers/KINETIC.LCOM b/lispusers/KINETIC.LCOM index fc4046051558b97c36a0b46ad35da704d7d8ff84..1e5025ef0ab11800b0304291a20d04bdd4ce6140 100644 GIT binary patch delta 450 zcmZ9Ize@u#6vun@2U-P%E`oy(aj1(Vxl5WW4!vGu8(MP5HT4_>1t}JsojbW(0&WgY zE-s~ig?~W@M|b}PO?xMlz9D@0y!Uu~Gb_FCKHqH-R3ofL+4!OE(DBD(DHEQ13})h- zZBihFdFIBMZ3GA*Vt$+#=i59Lj}EpAwmwg$<@)`c7SE0a^H$`0ubCXqMPayazKVmv z_S88Mppy&eMkb;1YGrUp#O%V+_)?U!gIhr#C@Gg)r`_OiDJOW zGvl@L$Vbo;%Z;kPA{bv;rFccS7_O!2^%IdD0D>S)M4&|q6!N2|r3&U8q`DM|jll`T zfmF8^83Qe@v|R^mgNEIxC&0$cfKzA-*=lRBfm7MkZD1~Rq!L<&i;o7%v)Ky;9$Ri< K@TTYMht3~e%Ww<; delta 333 zcmYMuze~eF6bJAmt4e9Icm-UX7bz6%+@j&LXZ3mir?d zbWpPTfArrmX)M0sy)PelkM}-U+i!~=B10byJ-T`rnRxZNv|Dh46VTu0*)9f*3D#HU zTEAHG_@`?b=BRJfRqd;rkH;q2OR#ua+o!MByFKF+F$B>xizk4n3z1OK zQ~~k>C_