On Sun, Sep 16, 2012 at 6:29 AM, Edward K. Ream <[email protected]> wrote:

>> Two big steps forward today:

The latest work:  rev 4443 removes the "fakes" in m.state_handler that
 simulated minibuffer handling.  Now m.next, m.single_key and
m.state_handler properly switch between key-handling states so that:

a) RtArrow still switches between slides and

b) All "simulated" keys produced by m.ctrl_key and m.plain_keys now
actually switch input modes.

Examples:

1.  The revised minibuffer screencast simply does m.ctrl_key('Alt-x')
in one node.  Another node does m.keys('ins').  Another node does
m.key('\t').  This actually invokes the minibuffuffer(!) and it shows
the Completion tab in the log pane.  When the minibuffer shows
"insert-node", a final m.key('\n') actually inserts a node(!!)

The point is that the user has just been hitting RtArrow all along:
the screencast plugin switches between key states behind the scenes.
It was tricky to get right.

2. Similarly, the screencast that discusses the find command starts
with m.ctrl_key('ctrl-f').  This shows the screen exactly as if I had
typed ctrl-f outside a screencast.

Important:  the arg to m.ctrl_key can be anything that would be a
valid key setting.  So the following are all equivalent:  "ctrl-f",
"Ctrl-f", "Ctrl+F", etc.  But "ctrl-F" is different from
"ctrl-shift-f".

Note: m.ctrl_key is somewhat misnamed.  Alt keys work too.  In fact,
m.ctrl_key is equivalent to m.single_key.  I'll be eliminating
redundant methods soon.

With these improvements, the essentials of the screencast plugin are
complete.  Still to do:

- One bug remains: for some reason, backspace doesn't get handled
properly in the minibuffer screencast.  I'll fix this asap.

- Document the plugin, both in the docstring, and in a screencast!

- Create screencast-start and screencast-find-and-start commands.  The
former will allow *any* sequence of nodes to be a screencast; the
latter will look for an @screencast node, and then start a screencast
at that node.

Edward

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/leo-editor?hl=en.

Reply via email to