The background to the SBClient window can be rather boring. I have in the past just set a company logo to be repeated.

But a change of scenery is as good as a holiday – so they say…

So, in the LOGIN.SETUP paragraph, I added a routine to randomly select an image.

 LOCAL TILE.PIX, ICON.PIX EQUATE EMPTY.STR TO "" * TILE.PIX = EMPTY.STR ICON.PIX = EMPTY.STR @VALUE = EMPTY.STR EXEC "LOGIN.BMP.SEL,RANDOM" IF (@VALUE = EMPTY.STR) OR (@RTN.FLAG # 0) THEN *   TILE.PIX = "S:TUBMPLOGO.BMP" END ELSE *   TILE.PIX = @VALUE END * ICON.PIX = "S:TUBMPICO.ICO" * @RTN.FLAG = SETATTR(@MAINWIN,G.TILE,TILE.PIX) @RTN.FLAG = SETATTR(@MAINWIN,'icon',ICON.PIX) 

And then the LOGIN.BMP.SEL paragraph:

 LOCAL MODE, CMD, BMP.MAX * EQUATE EMPTY.STR TO "" EQUATE COMMA TO "," EQUATE SPACE TO " " * * Mode can be a file name or the word RANDOM MODE = FIELD(@PARAM, COMMA, 1) MODE = OCONV(MODE, "MCU") * BEGIN CASE CASE MODE = "RANDOM" OR MODE = EMPTY.STR *   CMD = 'SSELECT QBMP = "LOGO]" (ARZ'   EXEC "S:" : CMD *   BMP.MAX = DCOUNT(@VALUE, @AM)   @VALUE = @VALUE; CASE MODE # EMPTY.STR *   READV @VALUE FROM "QBMP", MODE,0   IF @RTN.FLAG # 0 THEN *     DISP 3,MODE : " not found."     EXIT 1   END CASE 1   DISP 3, "Incorrect MODE."   EXIT 1 END CASE * @VALUE = "S:TUBMP" : @VALUE @PARAM = EMPTY.STR 

where QBMP is a pointer to the SBClient BMP directory – also mapped to S:TUBMP