!7 static double interval = 4.0; static Set lastFacts; static new LatestAppearance factAppearance; p-experiment-tt { autoRestart(); startBotHere("Screen Segmenter.", #1015121); repeat with sleep interval { long time = sysNow(); SS map = mechMap("Thing on screen => Fact"); Set factsSet = lookupAllAsCISet(map, thingsOnScreen2()); L factsList = factAppearance.recordAndSort(factsSet); S facts = lines(factsList); if (neq(factsSet, lastFacts)) printWithAsciiHeading("FACTS", or2(facts, "-")); lastFacts = factsSet; //done2_always(time, localDateWithSeconds() + ": Found: " + list); consoleTitle(trim(l(factsList) + " " + first(factsList))); } }