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.
