[Date Prev][Date Next][Subject Prev][Subject Next][ Date Index][ Subject Index]

All-in-one eXeCute|Helpkey [was Re: U2 fram[e] PrsExe50] -header In-Reply-To: 200809160343.m8G3h1KN029777@xxxxxxxx -header References: <200809160343.



Harry and other interested U2 users:

Here is a tweaked and simplified version of the routine that enables
an all-in-one native command/U2 frame execute key. Assign frame
XCorU2 in the KeyBoarD file to a key of your choosing with
nn=NOJM(,2,.,X,C,o,r,U,2,)

or, for Stack users,
nn=NO$SJM(,2,.,X,C,o,r,U,2,)

A companion routine, EnterXCorU2, enables a three-way combination
for the Enter key: launch the command or U2 framename on the CMline
if cursor is situated on the CMline, put a  in text if cursor is
situated in text. Assign to the Enter key with

28=NOJM(,2,.,E,n,t,e,r,X,C,o,r,U,2,)
or
104=NOJM(,2,.,E,n,t,e,r,X,C,o,r,U,2,)

Note well that EnterXCorU2 is no longer a self-contained routine.
Frame XCorU2 must ALSO be present in the loaded U2 file.

Also included is a replacement frame $E for Stack users who stack
commands issued with the Enter key. No modification to the KBD file
is necessary if your KBD file already has 28=$E or 104=$E. Simply
add the modified frame $E, along with frame XCorU2, to your U2 file.

If you use these routines, it is HIGHLY RECOMMENDED that you
continue to maintain a regular eXeCute key
nn=XC
 or
nn=NO$SXC <==Stack users,

a regular Helpkey
nn=NOJM(,2,.,P,r,s,C,M,l,i,n,e,)
 or
nn=NO$SJM(,2,.,P,r,s,C,M,l,i,n,e,) <==Stack users,

and a regular Enter key for occasions when only the standard
versions of these keys will work. In particular, a regular Helpkey
is REQUIRED in order to launch U2 frames that are identical to
native commands. A nonstandard Enter key assignment will interfere
your ability to navigate XyWrite's Help/Menu system.

To add these frames to your U2 file, issue DECODE to decode
what's below, manually DeFine the resulting block of code, and then
issue ADD2U2.

Enjoy.

XPLeNCODE v2.0
b-gin [UNTITLED]
{{;5XCorU2}} Execute native command|launch U2 frame [ arg(s)]
 (native commands take precedence over framenames) [CLD rev.9
/19/08][cr|lf]{002}{<}SX01,{<}VA$EB{>}{>}{<}SX02,{<}VAWA{>}{>
}{<}SX01,"[BX_]es 1[Q2_][BX_]d eb="+{<}IS01{>}+",wa="+{<}IS02
{>}+"[Q2_]"{>}[BX_]d eb=0,0,wa=0[Q2_][XC_]{<}IF@not({<}ER{>})
{>}{<}PV01{>}{<}EX{>}{<}EI{>}{<}SX02,{<}VA$ER{>}{>}{<}PV01{>}
{<}IF{<}PV02{>}<>12{>}[BX_]beep[Q2_]{<}SX01,"{<}VA\"+{<}IS02{
{062}}+"{>}"{>}{<}SX01,{<}PV01{>}{>}{<}PR@01{>}{<}EX{>}{<}EI{>}[B
X_]es[Q2_][JM_]2.PrsCMline[Q2_]{002}[cr|lf][cr|lf]{{;5EnterXC
orU2}} Use Enter key to eXeCute native command and launch U2{032}
frame [ arg(s)] (native commands take precedence over framena
mes). Requires frame XCorU2 [CLD rev.9/19/08][cr|lf]{002}{<}I
F{<}VA$SM{>}>0{>}[JM_]2.null[Q2_]{<}EI{>}{<}IF{<}VA$TX{>}<1{>
}[JM_]2.XCorU2[Q2_]{<}EX{>}{<}EI{>}[255+048+068]{002}[cr|lf][
cr|lf]{{;5$E}} ENTER.PM (variant of EnterXCorU2 for Stack use
rs)[cr|lf]{002}{<}IF{<}VA$SM{>}>0{>}[JM_]2.null[Q2_]{<}EI{>}{
<}IF{<}VA$TX{>}<1{>}[$S_][JM_]2.XCorU2[Q2_]{<}EX{>}{<}EI{>}[2
55+048+068]{002}[cr|lf]
-nd
XPLeNCODE

--
Carl Distefano
cld@xxxxxxxx