Re: My 15 year plan, part 2

2016-09-15 Thread Kent Tenney
I don't see Leo-in-thing, I see Thing-in-Leo.
Leo's panes, buttons, scriptiing external file tools, plugins etc.
provides the fundamentals which make it uniquely positioned
as a cognitive aid.

Neovim is a Vim rewrite in Python, if it could be native to a Leo
editor pane, the Vim/Leo choice would disappear. If one of the
open source debuggers could be embedded in a Leo edit pane,
allowing step-through of code with a variable watch window ...

However, foolproof install seems to be job one.

Thanks,
Kent

On Thu, Sep 15, 2016 at 11:49 AM, Edward K. Ream 
wrote:

> This is a continuation of two threads: Pare Leo down and make it a plugin
> , and My
> 15 year plan
> . More so
> than usual, I am thinking out loud here. All comments welcome.
>
> It is tempting to think that one could, starting with Leo's existing code
> base, integrate Leo into Emacs, vim, Eclipse and (my favorite)
> IPython/Jupyter. Indeed, if I could start over on Leo (back in 1985, say),
> I would seriously consider adding yet another mode to Emacs.  Similarly,
> given the work I did with vim emulation, it might have been better to
> attempt to embed Leo into vim, rather than the reverse.
>
> But this is not 1985, and I am 30 years older now.  I don't have 30 more
> years ahead of me. I have no desire to create work just to keep busy. I
> certainly can not commit to multiple projects such as Leo-in-Emacs,
> Leo-in-Vim or Leo-in-Jupyter (Leo-in-CoffeeScript). Any one of these
> projects might take years.
>
> I personally can disqualify Leo-Emacs or Leo-in-Vim immediately.  Although
> such a project might make Leo more popular, I would never use such things
> myself.  I like Leo as it is, with Qt's great widget set.
>
> Leo-in-Jupyter (written in CoffeeScript) has more personal interest, but
> it has its own, er, "challenges".  The foremost is that Jupyter is a huge
> project run by others.  Even if Leo could be integrated into Jupyter, it
> seems unlikely that the "governors" would approve.
>
> Lastly, I could conceive of doing a "straight" version of Leo in
> CoffeeScript.  But this runs smack into serious problems:
>
> 1. Security.  Jupyter claims to be secure, and they may be, but the
> machinery involved is complex.  I have no confidence that Leo could be made
> secure.
>
> 2. Widgets. There are many widget sets and other frameworks to choose
> from.  My brother, who knows much more about such things, has no clear
> recommendation to make.
>
> In short, Leo in CoffeeScript would be a huge, high-risk project.
>
> Instead, I would rather explore solving problems with Leo as it is. I have
> said many times that we have just begun to explore what is possible with
> Leo. That hasn't changed, and I expect that extending Leo as it is will
> continue to be my focus.
>
> 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.
>

-- 
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.


Unifying the viewrendered plugins

2016-09-15 Thread Edward K. Ream
The present situation is a mess.  We have three separate VR plugins, all 
with much the same intentions, and worse, all with similar code bases.  
This is a maintenance nightmare.  It is also confusing to users and impedes 
innovation.

Instead, I would like a single, unified plugin, that can be customized to 
handle various preferences.  Of course, doing so could create a *fourth* VR 
plugin instead of unifying things.  But done correctly the VR3 plugin 
should *replace *the VR and VR2 plugins.  That's the plan, anyway.  
Eventually, we can enforce this by retiring VR and VR2.

I have attempted the unification several times, and I can assure you that 
this is anything but a simple project.  The code base is clumsy.  Switching 
widgets in and out is ugly.  I'm not sure it can be improved significantly.

There are several present bugs related to the VR plugins.  Rather than 
piecemeal fixes I'll attempt to get VR3 working as I would like.  No 
promises about timing.

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.


My 15 year plan, part 2

2016-09-15 Thread Edward K. Ream
This is a continuation of two threads: Pare Leo down and make it a plugin 
, and My 15 
year plan . 
More so than usual, I am thinking out loud here. All comments welcome.

It is tempting to think that one could, starting with Leo's existing code 
base, integrate Leo into Emacs, vim, Eclipse and (my favorite) 
IPython/Jupyter. Indeed, if I could start over on Leo (back in 1985, say), 
I would seriously consider adding yet another mode to Emacs.  Similarly, 
given the work I did with vim emulation, it might have been better to 
attempt to embed Leo into vim, rather than the reverse.

But this is not 1985, and I am 30 years older now.  I don't have 30 more 
years ahead of me. I have no desire to create work just to keep busy. I 
certainly can not commit to multiple projects such as Leo-in-Emacs, 
Leo-in-Vim or Leo-in-Jupyter (Leo-in-CoffeeScript). Any one of these 
projects might take years.

I personally can disqualify Leo-Emacs or Leo-in-Vim immediately.  Although 
such a project might make Leo more popular, I would never use such things 
myself.  I like Leo as it is, with Qt's great widget set.

Leo-in-Jupyter (written in CoffeeScript) has more personal interest, but it 
has its own, er, "challenges".  The foremost is that Jupyter is a huge 
project run by others.  Even if Leo could be integrated into Jupyter, it 
seems unlikely that the "governors" would approve.

Lastly, I could conceive of doing a "straight" version of Leo in 
CoffeeScript.  But this runs smack into serious problems:

1. Security.  Jupyter claims to be secure, and they may be, but the 
machinery involved is complex.  I have no confidence that Leo could be made 
secure.

2. Widgets. There are many widget sets and other frameworks to choose 
from.  My brother, who knows much more about such things, has no clear 
recommendation to make.

In short, Leo in CoffeeScript would be a huge, high-risk project.

Instead, I would rather explore solving problems with Leo as it is. I have 
said many times that we have just begun to explore what is possible with 
Leo. That hasn't changed, and I expect that extending Leo as it is will 
continue to be my focus.

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.


Re: Learning Python/PyQt5/Leo

2016-09-15 Thread Edward K. Ream
On Wed, Sep 14, 2016 at 7:06 PM, Chris George  wrote:

> This problem is not related to any plugin, just Leo.
>
> I placed this tutorial script into an @clean node and hit Ctrl-B to run
> it. Leo exited and closed the command prompt and didn't execute the script.
> Running the file from the command prompt with python3 executed it perfectly.
>

​Remember that Leo is itself a Qt application.  The following works:

from leo.core.leoQt import QtWidgets
# Using the leoQt module allows
# the code to work on Qt 4 or 5.
app = g.app.gui.qtApp
# The already running Leo application.
w = QtWidgets.QWidget()
w.resize(250, 150)
w.move(300, 300)
w.setWindowTitle('Simple')
w.show()
g.app.my_widgets = [w]
# Save a reference to w so it won't be
# garbage collected at the end of the script.
# sys.exit(app.exec_())
# This would kill Leo.

HTH.

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.