How to programmatically fight with WPS:Start a VIO window with a changed font size

From EDM2
Jump to: navigation, search
<< Drag & Drop of .dev and printers -- Index -- Desktop background >>

Here's a REXX script that does what's needed (on my system, at least). YMMV because of timing issues (i.e. it's possible that the font could get reset before the window uses this setting).

Notice that I've included two different ways to invoke scache: by running it directly and by opening a program object that runs it. I feel more comfortable with the latter, but it requires that the pgm object have an Object ID (in this case "<SCACHE>"). I added mine after the fact using a feature of DTProgram.

 /* SCACHE.CMD - saves old font size, sets a new size, */
 /* invokes smartcache, then restores old size         */
 /* note:  if the font is "14x8", y=14 & x=8           */

 call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
 call SysLoadFuncs

 x = 8
 y = 8

 sav = SysIni('USER','Shield','~Font Size...')
 new = d2c(x) || d2c(y)
 rc = SysIni('USER','Shield','~Font Size...', new)

 /* OPEN PROGRAM OBJECT */
 rc = SysOpenObject('<SCACHE>','4','TRUE')

 /* RUN DIRECTLY */
 /* 'CD F:\JAVA11\SCACHE'
 'START F:\JAVA11\BIN\JAVA.EXE -ms1m scache' */

 rc = SysIni('USER','Shield','~Font Size...', sav)
<< Drag & Drop of .dev and printers -- Index -- Desktop background >>