Cinemar's WebLobby "Always In Front" Solution


This post is specific to MainLobby and WebLobby users, but I thought I would share it as it solves a problem that I wanted to solve for some time.

Whenever a WebLobby image (which is an ActiveX control) is displayed on a MainLobby scene, it would always be "on top" (nothing can change this including "z-order" selection).

Well, when a message box would be displayed, it would always be behind my WebLobby image (and I really didn't want to move this WebLobby image away from the center of my directory scene). I open the message box via the MLHSPlugin and HomeSeer (as well as run the rest of the code from HomeSeer).

Thanks to gregoryX and rileydog on the Cinemar forums a solution has been found using the web.hide and commands. Below is an example.

The is my reminder message box for garbage night (every half hour will announce and show the message box via separate events during garbage night, until HomeSeer sees the side gate (z32) open, meaning I put the can out on the street):

if hs.ison("z32") then hs.speak  "The Garbage Needs to be taken out on the street", FALSE 

hs.plugin("MLHSPlugin").MLServeCMD "MLServeCmd.MLCmd|MLCommand~ALL~Web.Hide" 

hs.plugin("MLHSPlugin").MLServeCMD "MLServeCmd.MLCmd|Msg~All~Garbage Night Message~Garbage Night Tonight~30" 

hs.waitsecs 30 

hs.plugin("MLHSPlugin").MLServeCMD "MLServeCmd.MLCmd|MLCommand~ALL~Web.Show"

Now the weblobby image hides so the message box can be displayed, then after 30 seconds the message box closes and the weblobby image opens back up! Since the "all" suffix was used on the "web" commands this will happen on all MainLobby clients.