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.

Reply via email to