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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.