frame ->report: kind={status,inform,progress,done,warning,error,fatal},
format=[char_array], argument=any ...Redefinition of visual->report
that walks a frame's report chain:
- Call visual
<-report_to;
if it returns a value other than
frame<-display,
forward frame->report
there.
- Try frame
->report
on each frame<-members
window until one succeeds. Windows by default delegate back to their
frame, so the loop detects and breaks this cycle.
- If the frame is transient, forward to frame
<-transient_for.
- Fall back to visual
->report.