// TODO: optimize. also doesn't seem to work with cmodule2? static JComponent dm_printLogComponent() { DynModule mod = dm_current_mandatory(); final JTextArea ta = moveCaretToEnd(typeWriterTextArea_noUndo(str(mod._actualPrintLog()))); JComponent section = jSection("Log", awtEvery(ta, 500, r { setText(ta, str(mod._actualPrintLog())) })); componentPopupMenuItem(section, "Clear", r clearPrintLog); ret section; }