Re: Leo from GitHub in a PyVE on Debian ?

2024-05-14 Thread Thomas Passin
I though it might be useful to pull together the steps to create on Linux a 
new virtual environment (venv) and install Leo's dependencies into it.  I 
created a new venv in the ~/venv*/leo* directory for this purpose:

tom@thomas-xubuntu-VirtualBox:~/venv$ mkdir leo
tom@thomas-xubuntu-VirtualBox:~/venv$ python3 -m venv leo
tom@thomas-xubuntu-VirtualBox:~/venv$ source ./leo/bin/activate
(leo) tom@thomas-xubuntu-VirtualBox:~/venv$ python3 -m pip install -r 
~/git/leo-editor/requirements.txt 
  tom@thomas-xubuntu-VirtualBox:~/venv$

On Tuesday, May 14, 2024 at 2:40:34 PM UTC-4 Thomas Passin wrote:

> In case I didn't make it clear, I think a script like the one I showed 
> above is an excellent way to launch the copy of Leo that is in your cloned 
> repo.  That's because it works from anywhere and you don't need to remember 
> any special locations or cd to them  If you are in an activated venv, it 
> works and will use the venv version of the dependencies.  If you are not in 
> a venv, it will use the system Leo installation and dependencies, if you've 
> installed them there (I have - in the user site-packages directory, of 
> course, not the system's).
>
> On Tuesday, May 14, 2024 at 2:09:14 PM UTC-4 Thomas Passin wrote:
>
> On Tuesday, May 14, 2024 at 2:05:10 PM UTC-4 Thomas Passin wrote:
>
> The script to launch Leo is in the *Scripts* directory.
>
>
> Of course, in Linux this will be the *bin* directory instead.
>
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/75b0ff52-099a-4de5-8c19-f2809a67c8a1n%40googlegroups.com.


Re: Leo from GitHub in a PyVE on Debian ?

2024-05-14 Thread Thomas Passin
In case I didn't make it clear, I think a script like the one I showed 
above is an excellent way to launch the copy of Leo that is in your cloned 
repo.  That's because it works from anywhere and you don't need to remember 
any special locations or cd to them  If you are in an activated venv, it 
works and will use the venv version of the dependencies.  If you are not in 
a venv, it will use the system Leo installation and dependencies, if you've 
installed them there (I have - in the user site-packages directory, of 
course, not the system's).

On Tuesday, May 14, 2024 at 2:09:14 PM UTC-4 Thomas Passin wrote:

On Tuesday, May 14, 2024 at 2:05:10 PM UTC-4 Thomas Passin wrote:

The script to launch Leo is in the *Scripts* directory.


Of course, in Linux this will be the *bin* directory instead.

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/bc070f06-8be4-42ed-a756-a0ec0001a927n%40googlegroups.com.


Re: Leo from GitHub in a PyVE on Debian ?

2024-05-14 Thread Thomas Passin

On Tuesday, May 14, 2024 at 2:05:10 PM UTC-4 Thomas Passin wrote:

The script to launch Leo is in the *Scripts* directory.


Of course, in Linux this will be the *bin* directory instead.

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/6fc137a7-b258-4b5b-a6a2-d411998612f5n%40googlegroups.com.


Re: Leo from GitHub in a PyVE on Debian ?

2024-05-14 Thread Thomas Passin
It can be hard to be sure what the Python search path is.  Here is what 
shows up for my system when I have activated my "Leo" VE.  This VE (on 
Windows) is contained in the directory  C:\Tom\venvs\leo. Note that on 
Windows you don't have to source the script.

C:\Tom\venvs\leo>Scripts\activate

(leo) C:\Tom\venvs\leo>py -c "import sys;print('\n'.join(sys.path))

C:\Users\tom\AppData\Local\Programs\Python\Python312\python312.zip
C:\Users\tom\AppData\Local\Programs\Python\Python312\DLLs
C:\Users\tom\AppData\Local\Programs\Python\Python312\Lib
C:\Users\tom\AppData\Local\Programs\Python\Python312
C:\Tom\venvs\leo
C:\Tom\venvs\leo\Lib\site-packages
C:\Tom\venvs\leo\Lib\site-packages\win32
C:\Tom\venvs\leo\Lib\site-packages\win32\lib
C:\Tom\venvs\leo\Lib\site-packages\Pythonwin

This is for a pip-installed version of Leo, not one cloned from github.  
Notice how Python will search its original installation path first, then 
the venv paths.  Anything that was installed into the system's 
*Lib/sitepackages* location will be found first.  Especially on Linux it's 
unlikely that Leo was installed there.

The script to launch Leo is in the *Scripts* directory.

(leo) C:\Tom\venvs\leo>dir Scripts |find "leo"
 Directory of C:\Tom\venvs\leo\Scripts
02/28/2024  09:20 AM   108,401 leo-c.exe
02/28/2024  09:20 AM   108,401 leo-console.exe
02/28/2024  09:20 AM   108,385 leo-m.exe
02/28/2024  09:20 AM   108,385 leo-messages.exe
02/28/2024  09:20 AM   102,242 leo.exe

Otherwise, for this venv, when you issue the command python3 -m 
leo.core.runLeo,  Python will look for a *leo* directory from top to bottom 
in the list of directory on sys.path.  It will get to 
C:\Tom\venvs\leo\Lib\site-package, and will find it there.

Sometimes, and this applies to Debian IIRC, the first time Leo is installed 
on a computer you might see an error message when you try to run it. The error 
message will say that "libxcb-cursor0" is needed (that's "cursorZero", in 
case the font zero looks like the letter O). You can install that library 
with the system package installer (e.g., apt-get),  But that may or may not 
be the right name to use for the library.  If the install attempt doesn't 
work, you can check at http://pkgs.org/ to find a better package name.

For running Leo with a clone of the Leo repo, I use a little script that 
sets the PYTHONPATH to the location of the cloned repo.  Here's my Linux 
script (the git clone is in ~/git/leo-editor):

(qt6) tom@thomas-xubuntu-VirtualBox:~/venv/qt6$ whereis py-leo-git
py-leo-git: /home/tom/.local/bin/py-leo-git
(qt6) tom@thomas-xubuntu-VirtualBox:~/venv/qt6$ cat 
/home/tom/.local/bin/py-leo-git
#! /usr/bin/bash 
if [ "$PYTHONPATH" == "" ]; then 
export PYTHONPATH=~/git/leo-editor
echo "Using PYTHONPATH:" $PYTHONPATH
else
echo "PYTHONPATH already set to " $PYTHONPATH
fi

python3 -m leo.core.runLeo $*

Running this script from inside your activated venv will run Python using 
the copy of Leo that is located in the repo.

HTH

On Tuesday, May 14, 2024 at 1:15:19 PM UTC-4 viktor@gmail.com wrote:

Hello Thomas,

tbp1...@gmail.com schrieb am Dienstag, 14. Mai 2024 um 16:03:20 UTC+2:

I wonder whether you VE activation somehow got lost during this process.  I 
noticed this:

~$ which leo
/home/user/.local/bin/leo

This says that typing "leo" uses that script, which is not one in the VE.  
Try this, and let us know what happens -

First, activate your VE environment.  Then issue

python3 -m leo.core.runLeo --version

You should get something like this:

Leo 6.7.9-devel, ekr-3892-vr-pane branch, build 8ede3fc77e
2024-05-14 05:12:23 -0500
Python 3.11.6
linux


Thanks a lot for your feedback ! - This is what the command returns in the 
first place:

user@debian-leo-study-vm:~$ cd PyVE/GitHub/Leo/

user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ 
user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ source bin/activate
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ 
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ python3 -m 
leo.core.runLeo --version
/home/user/PyVE/GitHub/Leo/bin/python3: Error while finding module 
specification for 'leo.core.runLeo' (ModuleNotFoundError: No module named 
'leo')
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ 

Only if I move a directory 'down' the command works:

(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ 
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ cd leo-editor/
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo/leo-editor$ 
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo/leo-editor$ python3 -m 
leo.core.runLeo --version
Leo 6.7.9-devel, devel branch, build fb85027eac
2024-05-13 16:10:23 -0500
Python 3.11.2
linux
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo/leo-editor$ 

I guess some more ' reading' on my side is needed ...

With kind regards,

Viktor

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop 

Re: Leo from GitHub in a PyVE on Debian ?

2024-05-14 Thread Viktor Ransmayr
Hello Thomas,

tbp1...@gmail.com schrieb am Dienstag, 14. Mai 2024 um 16:03:20 UTC+2:

I wonder whether you VE activation somehow got lost during this process.  I 
noticed this:

~$ which leo
/home/user/.local/bin/leo

This says that typing "leo" uses that script, which is not one in the VE.  
Try this, and let us know what happens -

First, activate your VE environment.  Then issue

python3 -m leo.core.runLeo --version

You should get something like this:

Leo 6.7.9-devel, ekr-3892-vr-pane branch, build 8ede3fc77e
2024-05-14 05:12:23 -0500
Python 3.11.6
linux


Thanks a lot for your feedback ! - This is what the command returns in the 
first place:

user@debian-leo-study-vm:~$ cd PyVE/GitHub/Leo/
user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ 
user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ source bin/activate
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ 
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ python3 -m 
leo.core.runLeo --version
/home/user/PyVE/GitHub/Leo/bin/python3: Error while finding module 
specification for 'leo.core.runLeo' (ModuleNotFoundError: No module named 
'leo')
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ 

Only if I move a directory 'down' the command works:

(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ 
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ cd leo-editor/
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo/leo-editor$ 
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo/leo-editor$ python3 -m 
leo.core.runLeo --version
Leo 6.7.9-devel, devel branch, build fb85027eac
2024-05-13 16:10:23 -0500
Python 3.11.2
linux
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo/leo-editor$ 

I guess some more ' reading' on my side is needed ...

With kind regards,

Viktor

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/9068145d-e1f6-423d-a7de-652681f49459n%40googlegroups.com.


Re: Leo from GitHub in a PyVE on Debian ?

2024-05-14 Thread Thomas Passin
I wonder whether you VE activation somehow got lost during this process.  I 
noticed this:

~$ which leo
/home/user/.local/bin/leo

This says that typing "leo" uses that script, which is not one in the VE.  
Try this, and let us know what happens -

First, activate your VE environment.  Then issue

python3 -m leo.core.runLeo --version

You should get something like this:

Leo 6.7.9-devel, ekr-3892-vr-pane branch, build 8ede3fc77e
2024-05-14 05:12:23 -0500
Python 3.11.6
linux

I always run Leo that way, or with a script that uses the incantation.  You 
are guaranteed to run the version of Leo that goes along with that version 
of python3, and if you have activated the VE then Python's module search 
path will be within the VE.  Otherwise, you are at the mercy of the system, 
which may not have the same idea as you as to what to run.

I often create one desktop icon to run the ordinary release of Leo and 
another one to run from my git-clone directory.  I recommend that you do 
the same (or create two launch scripts and use them).

On Tuesday, May 14, 2024 at 8:54:38 AM UTC-4 viktor@gmail.com wrote:

Hello everyone,

Today I have started again to check out the status of Leo (devel branch) 
from GitHub within a Debian 12 VM.

I believe that I did follow the (new) recommended steps for Leo, i.e.:

* Created a new PyVE for Leo from GitHub - OK - See "Log-001".
* Installed Leo from GitHub from scratch - Not OK - See "Log-002".

Has anybody else tried such a setup - and / or - does anyone of you have an 
explanation what is going wrong / what I'm missing ?

If I try the same in a similar environment, with Leo using pip from PyPI, I 
get the following status, which I'd have expected in a similar fashion also 
for the setup from GitHub - See "Log-003".

Thanks a lot for any kind of feedback !

[snip] 

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/082e4d9c-c09b-4557-86cc-f1fadf513371n%40googlegroups.com.


ENB: More about the VR and free_layout plugins

2024-05-14 Thread Edward K. Ream
 

This Engineering Notebook post continues a previous 
 entry concerning 
Leo's VR and free_layout plugins. I've revised my thoughts while working on 
PR #3893 .

*The free_layout plugin*

The free_layout plugin will remain for compatibility with existing plugins 
and scripts.

However, the plugin has several irremediable flaws:

- It is tricky to use, as Thomas can attest.

- It saves layouts to Leo's cache in a platform-dependent manner.

- It supports only widgets that contain "provider" classes.

- It *limits* what Qt itself can do.

*Prototyping layouts*

Qt provides extensive capabilities for defining layouts. Plugins and 
scripts may create layouts directly or load layouts (.ui files) created by 
Qt Designer. Scripts can do much more than what the free_layout plugin 
provides.

Leo's @button nodes are a straightforward way of creating and changing 
layouts. The only drawback is that Leo *must not* execute buttons on 
startup because of security considerations. However, it's easy to create 
plugins that *do* load layouts at startup.

*Summary*

The free_layout plugin must remain for compatibility, but I would like to 
deprecate it.

@button nodes are a straightforward way of creating per-outline layouts. If 
desired, plugins could change layouts when Leo loads particular outlines.

Next, I'll experiment with bespoke Qt layouts and report my experiences.

All of your questions and comments are welcome.

Edward

P.S. I've recently considered several "fancy" schemes that would load 
layouts at startup without being security risks. These schemes don't seem 
worth doing at present. I'll attempt them only as a last resort.

EKR

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/3ad439f1-de6f-405a-9078-60048cb95015n%40googlegroups.com.


Leo from GitHub in a PyVE on Debian ?

2024-05-14 Thread Viktor Ransmayr
Hello everyone,

Today I have started again to check out the status of Leo (devel branch) 
from GitHub within a Debian 12 VM.

I believe that I did follow the (new) recommended steps for Leo, i.e.:

* Created a new PyVE for Leo from GitHub - OK - See "Log-001".
* Installed Leo from GitHub from scratch - Not OK - See "Log-002".

Has anybody else tried such a setup - and / or - does anyone of you have an 
explanation what is going wrong / what I'm missing ?

If I try the same in a similar environment, with Leo using pip from PyPI, I 
get the following status, which I'd have expected in a similar fashion also 
for the setup from GitHub - See "Log-003".

Thanks a lot for any kind of feedback !

With kind regards,

Viktor

### Log-001

user@debian-leo-study-vm:~$ 
user@debian-leo-study-vm:~$ cd PyVE/GitHub/
user@debian-leo-study-vm:~/PyVE/GitHub$ 
user@debian-leo-study-vm:~/PyVE/GitHub$ rm -rf Leo
user@debian-leo-study-vm:~/PyVE/GitHub$ 
user@debian-leo-study-vm:~/PyVE/GitHub$ python3 -m venv Leo
user@debian-leo-study-vm:~/PyVE/GitHub$ 
user@debian-leo-study-vm:~/PyVE/GitHub$ cd Leo/
user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ 
user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ source bin/activate
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ 

### Log-002

(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ 
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ git clone 
https://github.com/leo-editor/leo-editor.git
Cloning into 'leo-editor'...
remote: Enumerating objects: 232512, done.
remote: Counting objects: 100% (848/848), done.
remote: Compressing objects: 100% (241/241), done.
remote: Total 232512 (delta 625), reused 783 (delta 607), pack-reused 
231664
Receiving objects: 100% (232512/232512), 237.68 MiB | 3.88 MiB/s, done.
Resolving deltas: 100% (184943/184943), done.
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ 
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo$ cd leo-editor/
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo/leo-editor$ 
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo/leo-editor$ git branch
* devel
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo/leo-editor$ 
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo/leo-editor$ python3 -m 
pip list
PackageVersion
-- ---
pip23.0.1
setuptools 66.1.1
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo/leo-editor$ 
(Leo) user@debian-leo-study-vm:~/PyVE/GitHub/Leo/leo-editor$ python3 -m 
pip install -r requirements.txt
Ignoring Send2Trash: markers 'platform_system == "Windows"' don't match 
your environment
Ignoring windows-curses: markers 'platform_system == "Windows"' don't 
match your environment
Collecting mypy
  Using cached 
mypy-1.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 
(12.6 MB)
Collecting mypy-extensions
  Using cached mypy_extensions-1.0.0-py3-none-any.whl (4.7 kB)
Collecting ruff
  Using cached 
ruff-0.4.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.7 MB)
Collecting typing_extensions
  Using cached typing_extensions-4.11.0-py3-none-any.whl (34 kB)
Collecting types-docutils
  Using cached types_docutils-0.21.0.20240423-py3-none-any.whl (27 kB)
Collecting types-Markdown
  Using cached types_Markdown-3.6.0.20240316-py3-none-any.whl (18 kB)
Collecting types-paramiko
  Using cached types_paramiko-3.4.0.20240423-py3-none-any.whl (33 kB)
Collecting types-PyYAML
  Using cached types_PyYAML-6.0.12.20240311-py3-none-any.whl (15 kB)
Collecting types-requests
  Using cached types_requests-2.31.0.20240406-py3-none-any.whl (15 kB)
Collecting types-six
  Using cached types_six-1.16.21.20240513-py3-none-any.whl (15 kB)
Collecting asttokens
  Using cached asttokens-2.4.1-py2.py3-none-any.whl (27 kB)
Collecting beautifulsoup4
  Using cached beautifulsoup4-4.12.3-py3-none-any.whl (147 kB)
Collecting black
  Using cached 
black-24.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 
(1.8 MB)
Collecting docutils
  Using cached docutils-0.21.2-py3-none-any.whl (587 kB)
Collecting flexx
  Using cached flexx-0.8.4-py2.py3-none-any.whl (351 kB)
Collecting markdown
  Using cached Markdown-3.6-py3-none-any.whl (105 kB)
Collecting matplotlib
  Using cached 
matplotlib-3.8.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 
(11.6 MB)
Collecting meta
  Using cached meta-1.0.2-py3-none-any.whl
Collecting numpy
  Using cached 
numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 
(18.3 MB)
Collecting pyenchant
  Using cached pyenchant-3.2.2-py3-none-any.whl (55 kB)
Collecting pyflakes
  Using cached pyflakes-3.2.0-py2.py3-none-any.whl (62 kB)
Collecting pytest
  Using cached pytest-8.2.0-py3-none-any.whl (339 kB)
Collecting pytest-cov
  Using cached 

glitches installing and starting Leo

2024-05-14 Thread andyjim

   
   - 
   
   I am not a techie, but I want to try using Leo as an organizer. I may 
   try building something like Johnny Decimal type indexing in Leo to organize 
   files, and use an external app for my actual journaling (Bike Outliner), 
   since as I understand it Leo can organize files and I can open them in 
   their native app from Leo.
   - 
   
   My use case is notes and files organization, journaling, hopefully 
   writing a book. Leo seems like a tough road for a non-techie. It was a 
   challenge just installing it (on Mac 14.4.1), and Terminal gave me an error:
   - 
   
   TypeError: expected str, bytes or os.PathLike object, not NoneType
   - 
   
   I don’t know what it means or what to do about it.
   - 
   
   After Python installation (I failed with miniconda and with brew) Leo 
   launched with ``Leo``, but with the same error as above.
   - 
   
   On Leo startup there was no menu bar in the main window and I somehow 
   managed to lose the icon area.
   - 
   
   Next day now, I cannot start it with ``leo`` (zsh: command not found) 
   and I don’t know how to start it.
   
   I had Leo a few years ago (don't recall what version) and as I recall it 
   started from a desktop icon, not from terminal.
   

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/296619a7-b14b-4b93-b13f-a626b663dcdfn%40googlegroups.com.


Re: A Script To Display The Viewrendered3 Pane in the Same Place s The Body

2024-05-14 Thread HaveF HaveF


Thomas, your private email on this topic was a Eureka moment for me. I 
realized that we Leo devs aren't aware of the hierarchy of Leo's Qt widgets.

Yes, we don't know...here is a nice version of the output 
.
 

I'll say more later.

 We are all looking forward to this :-D

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/8274ed6f-5e8d-4034-9149-29bdd9e1f4f4n%40googlegroups.com.