A major milestone: Ctrl-S calls k.masterKeyHandler with correct values, so 
Ctrl-S starts Leo's save logic. The code crashes because c.frame is None, 
which is neither surprising nor upsetting.

The next phase of the project will be get Ctrl-S to run to completion. To 
do this, the gui code must create the proper wrappers for the curses 
widgets. I expect this to happen in a day or so.

*Notes*

The new CursesKeyHandler class is much simpler than the qt eventFilter code 
because curses only delivers Control keys and plain keys. No doubt more 
tweaks to this code will be needed, but that will not be a problem.

Alas, curses does not deliver Alt, Shift-Control or other "complex" 
bindings. That is, pressing Shift-Ctrl-whatever is the same as 
Ctrl-whatever. That doesn't matter at present.  For now, all we need are 
bindings like Ctrl-S that actually do something.

g.es, g.es_exception, etc. now prints only to the logger. This makes 
debugging the code very easy.

The new code honors all existing npyscreen default bindings. Leo's new key 
handling code is called only if the key matches no binding defined for the 
particular widget.  Imo, this will be a reasonable policy forever.  It's 
certainly reasonable (and convenient) during development.

*Summary*

The next step will be make proper Leonine wrappers for the underlying 
curses/npyscreen widgets.  This should be straightforward.  The last steps 
will be to create (with wrappers) curses tree and body widgets, and to make 
the minibuffer widget functional.

We are way ahead of my most hopeful schedule. Debugging is much easier than 
expected.

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.

Reply via email to