Creating a new topic for this - although ostensibly an offshoot from this
thread <https://groups.google.com/d/msg/leo-editor/rfgd_sCKoXA/sDwbEmMU4CsJ>,
relates (more or less) to these
<http://groups.google.com/d/msg/leo-editor/Vz0KQxHH2q8/D8lIkWyI-S0J>more
substantial
<http://groups.google.com/d/msg/leo-editor/pF6t8I9BwSA/PKl04NxrlSoJ>past
discussions<http://groups.google.com/d/msg/leo-editor/6Zt_JQNMtLc/nLrbYy1WTwAJ>
.
On Tuesday, January 3, 2012 11:05:49 PM UTC+7, Terry wrote:
On Tue, 3 Jan 2012 00:39:33 -0800 (PST) HansBKK <[email protected]>
wrote:
>> Are these issues from above worth adding as a wishlist item or
further discussion?
>>It seems there needs to be an easy standardized way to control what
happens when the user left-clicks (single vs double, "new" vs when already
selected) as well as the right-click context menu.
> These things have been discussed before, I think searching for "act on
node" or actonnode or something might turn up one relevant thread.
Yes, this is a followup to those issues resulting from having come across
them in searching for a solution.
> There are perhaps three different issues here, so some thinning is
required before you could file a wishlist item:
> - I don't think it's possible to support single and double click
actions without using a timer, which Edward doesn't want, which I
understand, as they do scary things to code execution pathways
I have no idea about this, nor why new code would need to do anything
different - Leo seems to currently be distinguishing between single and
double-click just fine?
> - Leo has very little support for multi-node operations / multi-node
selection, basically the few commands from the contextmenu.py plugin
Regarding the below, set aside multi-node for the moment, and take into
account my lack of knowledge on implementation, filter out the more
difficult blue-sky possibilities.
We have the ability to turn full-command strings into context menu choices
now. Build on that - make the choices that are currently "baked in"
available via full-command strings and set them as enabled by default in
leoSettings
Allow the user to add to the contextmenu.py list, and also to override or
delete the default ones (currently "baked in") as desired in myLeoSettings.
Allow for filtering commands out based on presence/absence of a list of @
directives (ideally allowing user-defined custom ones?).
If not too difficult (blue-sky flag), allow custom scripts to be included,
ideally via full-command strings as well.
Ideally also allow these to be applied to URLs, parsing the protocol
(http/ftp) vs file and file extensions (maybe even mime types)
Perhaps these last three factors would best be abstracted into a separate
formally defined list of "node types", which match labels to the user's
node definitions, and the actions availability tied to the labels.
--------------------
- how do you decide which plugin gets to say what single-click and
double-click do?
Don't leave it to the plugins, give that control explicitly to the user in
myLeoSettings. The choices are those already on the right-click list as
above; just add the ability to prioritize/skip over inappropriate commands,
taking into account the above "if this node type then this command" logic.
Require all plugins to "publish" their actions as full-command strings, and
allow them to **assist** the user by adding example node-types-to-command
settings which would show up automatically on the context-menu list, but as
lowest-priority items on the click/double-click lists - they would not be
allowed to "hijack" the current settings. If the user wants that plugin to
handle a given node type that used to be handled by a different
full-command string, s/he can then just increase that plugin's
command-string priority.
Obviously it would be nice if the config facility for these settings were
user-friendly, but I think enabling explicit and granular control is more
important.
OK, back to:
> - Leo has very little support for multi-node operations / multi-node
selection, basically the few commands from the contextmenu.py plugin
This would require either Leo being able to automatically filter which
commands are appropriate to multiple nodes being selected and which aren't.
This is happening now, although I don't know if accurately or not, I seem
to recall observing some (at the time unimportant) inconsistencies.
Adding an additional "dimension" to the user settings to specify this would
IMO be needlessly complex.
Alternatively, if the multi-node operations side of things makes the rest
of the above much more difficult, I would suggest simply making all such
operations full-command strings based on marked nodes instead, as with the
current "clone-marked-nodes".
--
You received this message because you are subscribed to the Google Groups
"leo-editor" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/leo-editor/-/Aq_zAJ-j7bQJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/leo-editor?hl=en.