sbool conceptLanguageToolTips_enabled; svoid conceptLanguageToolTips() swing { if (conceptLanguageToolTips_enabled) ret; conceptLanguageToolTips_enabled = true; thread "conceptLanguageToolTips" { bool firstTime = true; // hack fix for tool tip not appearing the first time S initialMsg = "Move mouse over a concept word to reveal its meaning!"; //repeat with ms sleep 500 { // Don't respond to "pause" button while (licensed_noPing()) { pcall { Component c = (Component) componentAtMouse_gen(); if (c instanceof JComponent) { S word = wordAtMouse(), msg = firstTime ? initialMsg : ""; if (possibleGlobalID(word)) { Lisp l = getLispTruth(word); S name = null; if (l != null) name = lispToEnglish_prettier(l); if (name == null) name = conceptToNameOpt(word); // This reloads AI concepts if (name != null) { msg = word + ": " + name; firstTime = false; } } setToolTipText((JComponent) c, msg); } } Thread.sleep(500); } } }