one reason I never got around to it is that in my setup at least,
double-clicking on a link:
mailto://[email protected]
causes the browser to open my mail client similarly. So that is something
similar...
J^n
On Monday, November 24, 2025 at 11:19:12 PM UTC jkn wrote:
> Nice - I have been meaning to write something myself like this myself, so
> thanks Thomas
>
> Jon N
>
>
> On Monday, November 24, 2025 at 6:34:17 PM UTC [email protected] wrote:
>
>> Here's a script that lets you send the body of the selected node to
>> email. The body needs to contain the text "email: <address>", where
>> "<address>" is the email address to send the node to. If there is a text
>> selection, it will be searched for the address. If not, the entire body
>> will be searched. The script works for both Windows and Linux. It ought to
>> work on MacOS but I can't try that. The message is handled by the system
>> default email handler.
>>
>> I have added this script to my "Local" custom menu defined in
>> myLeoSettings.leo. Here it is:
>>
>> @language python
>> """Extract email address and launch email program on it.
>>
>> The address is expected to be prefaced like this:
>>
>> [optional text first] email: [email protected] [optional text after]
>>
>> If there is a selection, the selected text is searched for an email
>> address. Otherwise, the entire body is searched. The system's
>> default email program is opened.
>> """
>>
>> import re
>> from sys import platform
>> import os
>> from subprocess import call
>>
>> EMAILre = r'.*email:[ ]*([^@]+@[^@ \t\n]+)' # inline
>>
>> def open_file(filename):
>> try:
>> os.startfile(filename) # Windows only
>> except Exception as e:
>> print(e)
>> opener = "open" if platform == "darwin" else "xdg-open"
>> call([opener, filename])
>>
>> # List of line(s) containing cursor or selection
>> cursor_lines = c.getBodyLines()[1]
>> line = cursor_lines[0] if cursor_lines else ''
>>
>> matched = re.match(EMAILre, line)
>> target = matched[1] if matched else None
>>
>> if target:
>> target = 'mailto:' + target.strip()
>> open_file(target)
>> else:
>> g.es('no address found')
>>
>>
--
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 view this discussion visit
https://groups.google.com/d/msgid/leo-editor/bde62c90-22e4-41fe-b289-e022c8c1aa7fn%40googlegroups.com.