!7 module OnlineChecker > DynImageSurface { volatile transient bool online; visualize { ret jscroll(jBackground(Color.white, jFullCenter(imageSurface = imageSurface(image)))); } start { preloadImagesNow(#1101405, #1101406); setImage(#1101404); thread { doEveryAndNow(10000, r actualUpdate); } } void actualUpdate { temp enter(); time "online check" { online = main.areWeOnline(); } setImage(online ? #1101406 : #1101405); S text = online ? "We are online!" : "We are offline..."; setToolTip(imageSurface, text); S name = online ? "ONLINE" : "OFFLINE"; setModuleName(name); } // API bool areWeOnline() { ret online; } }