Collect dt_control_log() and dt_toast_log() messages
Visibility of messages shown via dt_control_log(), dt_toast_log() and dt_toast_markup_log() is currently pretty bad as only the last shown message is shown if new ones are "pushed".
This commit redesigns both buffers to be used as circular buffers, a new call to any function above will not display the last text but all available and not-yet ackknowledged (or disappeared) messages for improved user readability.
I think there was some discussion - can't find it right now - @TurboGit and @victoryforce iirc about some sort of larger log to be shown on request or something like that. This pr would be a very simply&safe redesign showing the last bunch of messages. No new strings, nothing "unusual" ...
@jenshannoschwalm : The discussion was there https://github.com/darktable-org/darktable/pull/16611
Note that in this discussion I have even proposed a new button to be able to browse the log in a dialog.
Note that in this discussion I have even proposed a new button to be able to browse the log in a dialog.
Right, #16611 was it. Although i personally think this here is sufficient.
behaviour of dterrahe reproducible on macOS:
if that's intentional, then this should be toggled on/off via preferences
Yes, this is how it's been designed. Take it as a simple-solution proposal instead of collecting to a buffer/window that can be selected and opened.
If this information collection is enough - instead of something more complex - i could add a preference option for "how many lines" to make this less "offensive". Otherwise - if this feature is not liked or not good enough by others, we can just revert.