PAGEHOLDAFacilitytoControlWindowScrollingauthor:JonLWhitefiles:[Eris]...Library>PAGEHOLD.DCOMdocumentation:[Eris]...Library>PAGEHOLD.TEDIT(and.PRESS)modified:May21,Oct21,andDec1,1984byJonLThePAGEHOLDfacilityredefinesPAGEFULLFNtoachieve--NovideoinversionoftheTTYwindowwhenbeing"held";--Releaseiseffectedbyoneofseveralmeans:{1}depressingandreleasingeitherSHIFTkey;{2}mousingthepop-up"button"whichannouncesthe"hold";{3}thetimeperiodof"holding"hasexceededatimeout;{4}typingacharacterduring"holding"(whichisdiscarded,butsee{5}below);{5}thereistypeaheadinthewindow'sinputbuffer,anditistheTtyDisplayStreamforthecurrentTTYprocess;--Continued"holding"whileeithershiftkeyisbeingdepressed;--Overrideof"holding"actionifCTRLkey(butneitherSHIFTkey)ishelddown;--Gaggingthe"timeout"actionofa"hold"indefinitelybydepressingtheCTRLkeywhileholdingdownaSHIFT;the"hold"mustthenbereleasedbyoneoftheothermeans.--Amenuofoptionsisobtainablefromthepop-up,interactive"button"signallingthe"hold";Automatic,"timeout"ReleasesOneoftheprimaryreasonsfortheexistenceofthisfacilityissothatprintouttoaTTYwindowwillnothangindefinitelywhenone"page"hasfilledup.ThedefaultreleasetimeisintheglobalvarPAGE.WAIT.SECONDS,whichcomesinitializedto20seconds;avalueof0willcauseimmediaterelease(unlessaSHIFTkeyisbeingdepressed).Ifawindowbeing"held"hasaPAGE.WAIT.SECONDSproperty,thenthatvalueisusedinsteadoftheoveralldefault.However,ifPAGE.WAIT.SECONDSissettoSTOP,thenthe"hold"willnotbereleasedbyanyautomatictimeout,norwillitbesensitivetotheSHIFTorCTRLkeyactions;thismodemostcloselyapproximatesthecurrentInterlisp-Ddesign,exceptthatapop-up"button"signalsthe"hold"ratherthanavideoinversion(mousingthebuttonwill,nevertheless,stilleffectarelease).Themessage"ScrollingStopped"willappearinthe"button"ratherthanoneoftheseveral"holding"messages.Finally,a"hold"maybeputinto"indefinitehold",whichissimilartotheSTOPmodejustdescribed,bydepressingCTRLwhilealsoholdingdowneitherSHIFT.Atleastoneofthethree"button"stylesdescribedbelowwillvisiblyindicatethisindefinite"hold"mode;andreleasemaybeeffectedinanyoftheusualways,includingdepress/releaseofSHIFT,exceptthattherewillbenoautomatic"timeout"release.ThePop-up"Buttons"Asecondaryreasonforthisfacilityistohaveapop-up"button",whichwillinteractivelysignaltheuserofa"holding"conditiononaparticularwindow.Notonlydoesthisdesignpermitadifferentbuttonforeachwindow,butitalsopermitstheselectivereleaseof"holding"bymousingthebutton(whereaskeyboardactionwouldbeinterpretedbyallthepage"holders"asareleasesignal).Therearethreestylesof"buttons"--WINKING,FLASHING,andNIL--andtheselectionisdeterminedbythevalueoftheglobalvarPAGE.WAIT.ACTIVITY,whichcomesinitializedtoWINKING.IfawindowhasaPAGE.WAIT.ACTIVITYproperty,thenthatvalueisusedinsteadoftheoveralldefault.AWINKING"button"isafairlyheftypad--approximately1/2"by21/2"--whichpopsupjustovertherightsideofthewindow'stitlebar;itwillalternatelyprintandcleartwoshortholdingmessages:onein q?` p` q?` g_p` agq`""agr`ag1Iagq`ag2 ag _ _ ^^s`i^X%&,29U^q`^:,^ \ \ [A [A Yt`X8Yq`YYu`XYgYq`YY X2t`X X2q`X2 $,X2 Vt`X Vq`V%34Vu`XV6Vq`V7>FV Ut`X^Uq`U55Uu`XU7G!_ #%(Uq`U)|U S S RL RL Pu`X Pv`PUPu`XPPv`P &Pu`XP&u',\P O4 L  "p,W#Q&*r.O4 M L   X!D%&*&0M L.R m##L.w`L.'L.u`XL.(=*L. JR##'-/4JJ IRy-"e$*n+k0vI GRfc Z&*,& 2v469V=G FRF%)G-0'1O24@@F D $D C L  F "%T&*- 0yC A L   E,__Aw`A!Au`XA"$z'E++Aw`A/Au`XA0R324p7[;A @ L  L}3 0$ +-q 46464@w`@9@u`X@9xw`>xu`X>x]>xw`>x >xu`X>x $n'*,a1}3K57S9<A>xq`>xA>x #o)*-1k24?6<=>AFF4T 2 o #|%)%+`+.a27.:$;b<?DD2 1Ev`;1Eu`X1E &(e*/{0x35}69<CGmGm1E /`]]/w`//u`X/O( ""u#$)-\1344/v`/C2/u`X/CIKIK/ .- BO\#(].- ,!!,v`,$h,u`X,$%')m)m,v`,,,u`X,-y0p279|;=BDoFF, +S*R"g#&&+w`+*K+u`X+*,9,9+w`+/+u`X+/2T787:=@EE+ ) 2c $Q(q+, 06P:<A DGHH) ( BI"\ *8,0D1A6g69h>>( &&y&&u&& $ oFw #i$'%+17o$ #h " )b-j1G268Y::#hv`#h=#hu`X#h>>ADV JJ#h ! TT!w`!!u`X!)!$(X(X!w`!,!u`X!-:-/_2U46]8;AE E ! PCke! ',80W276: ;@BVDFTHH P  c 1!!w`%u`X&*-^03346<@CG A A   =q`""=x`i=&],5=q`=6=   .u`XI.#$&@)X*U.48;H BFHH.  JGiA> $@)),/u2v49=G>DCGJJ ( H_#T$(*|027:>PCII(   zH  :#R)_*+03458;>hACxII " > >"v`""u`X""v`""u`X"7"v`"E"u`X""p$*+Q 2g456f9;k=CfCf" v`u`X! ')<)<v`/u`X/0$1y2v7p9::v`Iu`XJ*J*  K!#%N). II v` * u`X "`]!%%'( 1467:<?CDGiJTJT  %G{ "$ +.@036h9>DG0HH  a q?`2theupperhalfofthe"button"andoneinthelowerhalf.AFLASHING"button"isaboutthesamewidth,buthalftheheight,andwillalternatelyprintthetwoholdingmessages.ANIL"button"merelyshowsthemessage"ReleaseSHIFTformore".LEFT-mousingany"button"willeffectareleaseofthe"hold";MIDDLE-mousingthe"button"willbringupamenuoffering,oneofwhoseoptionsisforsimple,immediaterelease.Othermenuoptionspermitconversionofthe"hold"toindefinite"hold"ortoSTOPmode;additionally,fiveoptionsareofferedforsettingthewindow'sspecificPAGE.WAIT.SECONDSproperty.TheWINKING"button"willactuallyhaveadifferentpatternofactivitywhenthe"hold"isplacedintoindefiniteholdmode,buttheotherbuttonstylesdonotvisiblydistinguishthisstate.Ifthereisn'troomtoplacethe"button"downovertherightsideofthetitlebar(because,forexample,thewindowistooclosetothescreentop),thenitwillbeplacedoveranothercornerofthewindow.KeyboardInputandTypeaheadConsistentwithInterlisp-D'scurrentaction,therewillbenoholdingonawindowwhichistheTtyDisplayStreamforthecurrentTTYProcessandforwhichthereistypeaheadinthatprocess'sTTYinputbuffer.ButthisactioncanbeoverriddenbysettingPAGE.WAIT.IGNORETYPEAHEADtoanon-NILvalue;additionally,whenitissettoanon-NILvalue,thennokeyboardinputwillreleasethe"hold",andnonewillbediscarded(notethatdepressingtheSHIFTand/ortheCTRLkeysdoesnotgenerateinput).Thisisespeciallyforthosewhodislikenotknowingwhetherakeystrokewillbe"eaten"bythePAGEFULLFN.Otherwise,iftheTTYinputbufferisemptywhenthe"hold"begins,thenanycharactertypedwillreleasethehold,andthetypecharacterwillbediscarded.H fu`X hw` h bu`X %!R{ "x$(C+8+,,bv`b3bu`Xb39:>@DHJiJib `u $( !$&+l1o13&3&`uv``u5`uu`X`u6;@CFF`u ^^y^<^u^ B ^ ]H]Hw`]HF]Hu`X]H /"&F'C+-$/U4.4.]Hw`]H98]Hu`X]H?A?FIZIZ]H [ nRO^f!d&'N)]-4z9'9=F@EII[ Z9 0aA B$&8''Z9v`Z9+Z9u`XZ9+l/ 779>k@E)G8G8Z9 X)Z0Xv`X)/Xu`XX)/G/MX W!W!v`W!tW!u`XW!l$'(.T24m9<>CDYHHW! U !%)R+*-p1 8T:>>w?C&EIiIiU T t D/`"%+&(+-35;<=mBgCEIJJT R %/F=e"'+-</m4lR Q Q Oq` O N3N3x`iN3&+/58N3q`N39N3 L L K$u`X p[ $(,G.02]759 : ?BDFPFPK$ I <!%%ItI($*-1 2I8e9<ADHG%I"HGI#HGI H  Gf ZG ZH uH  aE,L "#((H v`H =H u`XH =n>?BH v`H E/H u`XH EIzIzH Fu &~SPFuv`Fu!Fuu`XFu!%(*0c36X:<AD GcIIFu D  D u uDw`D$Du`XD%)w++Dw`D/Du`XD/\2G5H7<A,ADnEED C] sHo$)9*60,24j9E;=D=DC]v`C] EC]u`XC]FYFFC] A *#'q).2y5p7=AACHJCJCA @N L $@N > > =|q` =| <$ <$ : : 9t 9t 8 8 6 6 5l 5l q?`  HELVETICA  HELVETICA ~GACHA ~GACHA  TIMESROMAN  TIMESROMAN  TIMESROMAN  HELVETICA~SNAIL ~GACHAa_j/9d({ERIS}LIBRARY>PAGEHOLD.PRESS;7JONL.PA13-Dec-84 04:31:24