!7 sclass RememberAllWords > DynPrintLog { new MultiSet wordSet; // synchronized int interval = 5000; void start { doEveryAndNow(interval, r doIt); } void doIt { temp enter(); please include function getText. for (Component c : allComponentsInWindows()) { S text = (S) callOpt(mc(), 'getText, c); // Reflection abuse! if (nempty(text)) { L words = words2_noNumbers(text); if (nempty(words)) { wordSet.addAll(words); change(); } } } print(n2(wordSet.uniqueSize(), "word") + ", " + n2(wordSet.size(), "occurrence")); } }