Skip to content

Message Log

MUST in every app with a status bar. The status bar’s echo line shows one message and replaces it with the next; the Message Log keeps them, so nothing the app said is lost because it scrolled past. Reference: Editora’s ui/MessageLog.java (the model, no JavaFX) and ui/MessageLogPopup.java (the view); Torrenta carries the same pair.

  1. 1Title "Messages", 14 px bold.
  2. 2Filter, focused on open. Filters as you type; ↓ or Enter moves into the results without leaving the field.
  3. 3Entry. The time as HH:mm:ss (11 px, monospace, muted) and the message as it appeared in the echo line. Newest first.
  4. 4Severity colours the message, not the row: errors red, warnings amber, information in the default colour. The time stays muted.
  5. 5Actions: Copy (the visible entries as text), Clear (empties the session log and its unread count), and Open Doctor: messages carry no actions of their own, and a missing tool or a server that would not start is where Doctor helps.
  6. 6Key hint, muted, 11 px.
  7. 7Echo line. The status bar's latest message; a click opens the log.
  8. 8Unread errors. A red count beside the echo line while errors have arrived since the log was last opened; a click opens the log.
PropertyValueReference
KindA popup anchored just above the status bar’s echo area, over the windowMessageLogPopup.show
Size773 px wide; the list 336 px high, scrolling past thatWIDTH, LIST_HEIGHT
Card-color-bg-overlay, radius 12, like the palette.message-log
RowsPadding 2 4, radius 5; selected row -state-sel.message-log-list .list-cell
CapacityThe newest 200 messages; older ones drop offMessageLog.MAX_ENTRIES
RepeatsA message repeated within 2 s moves to the top as one entry, unread onceREPEAT_MILLIS
LifetimeThis session only, in memory. Not written to disk: the Debug Log is the persistent recordMessageLog
Blank messagesNot recorded (a blank message only clears the echo line)MessageLog.add
  • Open: click the echo line or the unread-error count, or run view.messageLog.
  • Close: Esc, C-g, or a click outside. Copy: Ctrl/Cmd+C copies the selected entries.
  • Severity comes from the message key (StatusSeverity): a key ending in Failed or Error is an error, one with cannot or invalid a warning. Name new keys accordingly, or report through the error channel directly.
  • Opening the log, or clearing it, resets the unread-error count. An unread error is never evicted silently: the count keeps it even when the entry drops off the end.
KeyEnglish
messagelog.titleMessages
messagelog.filterFilter messages…
messagelog.emptyNo messages yet
messagelog.copy / messagelog.clearCopy / Clear
messagelog.doctorOpen Doctor
messagelog.hintEsc to close
Editora's Message Log popup above the status bar
Editora.

Pauta 1.1.0 · · Changelog