When I awoke just now several important ideas about the demo plugin appeared. This post is pre-writing for a new section in demo.md <https://github.com/leo-editor/leo-editor/blob/demo/leo/doc/demo.md>.
*tl;dr:* See the bold headings. But really, this post is worth careful study. *No need for helper methods* Unlike the screencast plugin, *the full power of Leo scripting is available to demo scripts.* Examples: 1. Demo scripts can call c.editHeadline() to start editing a headline. 2. Demo scripts can call c.bodyWantsFocusNow() or c.treeWantsFocusNow() or c.minibufferWantsFocusNow() to switch panes. These "just work" because the demo plugin does not interfere with Leo's focus or key handling. *Presentations can be descriptive* Demo scripts can focus on *what* should be done, not *how*. Subclasses of demo.Demo can (should) define helpers that hide implementation or configuration details. Basing presentations on (subclasses of) demo.Demo is a major innovation. It's much more powerful and flexible than screencast.py, or demo.el. *Presentations can be fully automated* Aha: demo scripts can be chained using demo.next(). Like this: demo.wait(whatever) demo.next() Alternatively, a single demo script suffices: << section 1 >> demo.wait(n1) << section 2 >> demo.wait(n2) ... This means that... *No post production required !!* This is huge. Fixed wait times make it easy to create finished presentations that can be recorded without any further editing! Two new helpers would be good: - *demo.callout*: Shows a highlighted message at a given location on the screen. - *demo.subtitle*: Shows a subtitle in a standard location on the screen. Both these helpers will auto-size themselves based on the text. *Summary* The demo plugin does not interfere focus or key-handling. As a result, the full power of Leo scripting is available to demo scripts. Demo scripts can (and should) be descriptive. Subclasses of demo.Demo can define methods that hide implementation and configuration details. Demo scripts can insert fixed delays, callouts and subtitles. As a result, demo scripts can be fully automated. They can be recorded without any post-production editing. Edward -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To unsubscribe from this group and stop receiving emails from it, send an email to leo-editor+unsubscr...@googlegroups.com. To post to this group, send email to leo-editor@googlegroups.com. Visit this group at https://groups.google.com/group/leo-editor. For more options, visit https://groups.google.com/d/optout.