Minder icon indicating copy to clipboard operation
Minder copied to clipboard

enhancements in selection

Open daveiro opened this issue 4 years ago • 20 comments

Hi there!

I love minder as it is blazing fast, beautiful and simple and will most likely replace my long time mind mapping software in Linux which is not handling well HiDPI, and is slow being java based.

There are a few usability features I am used to in this other software that I think would greatly benefit minder and it's user's productivity in general and facilitate mine and other people's migration in particular.

So here's a first enhancement request which I hope it's easy to implement:

When hovering the pointer over a node it should be automatically selected; and one could disable/enable this in the preferences.

Thank you so much for creating such a beautiful and effective application!

Kind regards, David

daveiro avatar Aug 23 '20 17:08 daveiro

How would this feature work? I assume that once the cursor has entered the node, it would display as selected, and once the cursor has left the node it would lose its selected status, correct? Is there a way to retain the selected status of the node so that you could use the mouse cursor to do things like interacting with the sidebar elements or adding other nodes to the selection?

What is the other mind-mapping application that you are using? Perhaps I could play around with it a bit and figure out these sorts of questions for myself. I could also add import/export support for that application if I don't already have support for it.

phase1geo avatar Aug 23 '20 19:08 phase1geo

How would this feature work? I assume that once the cursor has entered the node, it would display as selected, and once the cursor has left the node it would lose its selected status, correct? Is there a way to retain the selected status of the node so that you could use the mouse cursor to do things like interacting with the sidebar elements or adding other nodes to the selection?

What is the other mind-mapping application that you are using? Perhaps I could play around with it a bit and figure out these sorts of questions for myself. I could also add import/export support for that application if I don't already have support for it.

Thanks for your quick reply! The feature is almost like what you described. You can see how this works in freemind/freeplane, the alternative tools I use(d). The last selected node stays selected, unless I hover to some adjacent node. In other words, if I hover to "empty space" the last selected node stays selected. When I enter some other node, this one is immediately selected.

btw, another selection feature that works in freemind/freeplane that I miss a lot in minder is how multiple selection works using the keys CTRL and SHIFT, where behavior is identical as in a spreadsheet, that is: when one node is selected, if I press SHIFT+(some arrow) the nodes I am "moving into" are also selected and the previous ones stay selected; quite handy for selecting multiple nodes on the same "vertical" or "horizontal" level (they way I usually use it); using CTRL and clicking we can select multiple different nodes randomly - I notice this behavior happens when using SHIFT+click which is not the "standard" I would say...

Minder does already support import of freemind/freeplane maps, but some of my more complex maps are imported "empty". Is there some debug option in command line or makefile flag I can activate so I could see what's failing? I can then open another issue regarding import/export and we could talk/test my import problems in a new thread.

Thanks!! :-)

daveiro avatar Aug 23 '20 23:08 daveiro

Let's create a separate issue for the empty mind maps. I would like to understand what is going wrong. Perhaps you could possibly e-mail me a Freemind/Freeplane mindmap that shows up empty in Minder. That would allow me to debug it much quicker.

phase1geo avatar Aug 25 '20 04:08 phase1geo

I don't think that the cursor hover selection feature would work very well in Minder. It is often the case that the user selects a node and moves the cursor to the sidebar for styling, editing, etc. One would have to be very careful not to allow the mouse cursor to accidentally move over another node on the way to the sidebar. That makes it a fiddly feature for the user which is the type of thing I want to avoid from a UX perspective.

The cursor selection features are doable, I think. I will look into them.

The idea of using Shift for cursor selection is a style choice on my part. The Shift key is typically used to provide an alternative choice to the non-Shift feature. For example, Control-Z performs an undo while a Shift-Control-Z performs a redo. In this case, a cursor left-click on a node drops all selections and sets the current selection to the selected item. Holding the Shift key will toggle the selection state of a clicked item. The Control key with click performs various types of tree-based selection, like select all children or select the entire subtree. I realize that Minder's keybindings may not line up to other applications one-to-one, but I think that is okay in some cases.

Anyways, just my initial thoughts here. I appreciate the kind words and look forward to fixing your import issue and enhancing the keyboard selection features!

phase1geo avatar Aug 25 '20 04:08 phase1geo

Let's create a separate issue for the empty mind maps. I would like to understand what is going wrong. Perhaps you could possibly e-mail me a Freemind/Freeplane mindmap that shows up empty in Minder. That would allow me to debug it much quicker.

just sent you an e-mail with one freeplane file, thanks!

daveiro avatar Aug 25 '20 11:08 daveiro

I don't think that the cursor hover selection feature would work very well in Minder. It is often the case that the user selects a node and moves the cursor to the sidebar for styling, editing, etc. One would have to be very careful not to allow the mouse cursor to accidentally move over another node on the way to the sidebar. That makes it a fiddly feature for the user which is the type of thing I want to avoid from a UX perspective.

indeed this would be a problem the way you describe it, but the way it's implemented in freeplane/freemind solves it: if I am moving the cursor, only after stopping moving it and only after a slight delay (some 100 ms I suppose) does the node get selected on hover; if I just hovered over a node that got selected and then move the cursor to the sidebar without stopping, no other node is selected. If you try this functionality in freeplane you can see it works quite nicely and it's a great UX feature reducing the need of one (very frequent) click.

The cursor selection features are doable, I think. I will look into them.

The idea of using Shift for cursor selection is a style choice on my part. The Shift key is typically used to provide an alternative choice to the non-Shift feature. For example, Control-Z performs an undo while a Shift-Control-Z performs a redo. In this case, a cursor left-click on a node drops all selections and sets the current selection to the selected item. Holding the Shift key will toggle the selection state of a clicked item. The Control key with click performs various types of tree-based selection, like select all children or select the entire subtree. I realize that Minder's keybindings may not line up to other applications one-to-one, but I think that is okay in some cases.

I see your point and it makes sense the logic of having a behavior alternative to the non shift feature. But I would say that, in terms of UX, it would be more friendly to follow the general spreadsheet experience. For me it's common to want to select 10 nodes on the same level to then move them somewhere else. In freeplane I can select the first of the 10 then press Shift and select the last and all 10 get selected; or I can just press Shift and the down arrow 10 times to select them all. I use much more the key method of bulk selection and it would make me very happy that at least this Shift+arrows method would be possible.

Anyways, just my initial thoughts here. I appreciate the kind words and look forward to fixing your import issue and enhancing the keyboard selection features!

Thank you for sharing your thoughts and for your availability to consider these suggestions of enhancements! :-)

daveiro avatar Aug 25 '20 11:08 daveiro

I have the Freemind/Freeplane import issue fixed in the master branch which will be generally available in the next release. There seems to be a node layout issue when folded nodes are imported and then expanded within Minder that I will also want to fix prior to the next stable release.

The node selection suggestions that you have here will be added in a later release.

phase1geo avatar Aug 26 '20 06:08 phase1geo

I have the Freemind/Freeplane import issue fixed in the master branch which will be generally available in the next release. There seems to be a node layout issue when folded nodes are imported and then expanded within Minder that I will also want to fix prior to the next stable release.

Many thanks!! I compiled/installed from source and it works fine now :) :+1:

The node selection suggestions that you have here will be added in a later release.

thanks!!

I have another suggestion regarding selection: when one selects a node for styling it would be nice to be able to apply changes not only to the selected node(s), but also to all it's children, basically change the "Changes affect" "option" to be able to select one of 3 options: all nodes, selected nodes, selected nodes and children

daveiro avatar Aug 27 '20 14:08 daveiro

sorry I closed this by mistake, newbie in github issues here 😅

daveiro avatar Aug 27 '20 14:08 daveiro

I tend to use a lot only the keyboard to navigate and edit mind maps and I just noticed a few other apparent issues regarding selection for your consideration to eventually solve/fix/complete:

  1. Shift+Home should select the text from the current point of the text cursor (middle of the string for example) until the beginning of the node text; analogue behavior for Shift+End would be expected. Currently the cursor just "jumps" to the beginning or end of the node text.

  2. When node text is selected, pressing Fn+"properties" key should bring up the "right click menu" so one can add a link or realize some other operation. I use this a lot to add links to nodes.

Thanks!

daveiro avatar Aug 27 '20 15:08 daveiro

For context, Minder used to allow the changes affect value via a drop down menu; however, this is a confusing item as there are many ways one might want to change styling for nodes related to the current selection (I won’t go into details but it’s a rathole). The better thing to do is to either use the selection or apply to all nodes (if nothing is selected). I added several selection features that allow you to quickly select the current subtree (and other options). This is much more robust and simpler to understand, so I won’t be reverting back that feature.

The rest of the suggestions look pretty sound, however.

phase1geo avatar Aug 27 '20 16:08 phase1geo

oh!! I haven't noticed the "Select" sub-options in the menu 🤦🏻‍♂️ sorry about that. Indeed much better just pressing Shift+D to select subtree, thanks for considering the other suggestions :+1:

daveiro avatar Aug 27 '20 16:08 daveiro

BTW, What is the "properties" key in terms of bringing up the contextual menu via keyboard?

phase1geo avatar Aug 27 '20 21:08 phase1geo

BTW, What is the "properties" key in terms of bringing up the contextual menu via keyboard?

sorry the right term is "menu key": https://en.wikipedia.org/wiki/Menu_key; on most laptops one needs to press Fn+"some key" and on desktop keyboards it's normally alone; it is equivalent to the mouse/touch-pad right click

daveiro avatar Aug 27 '20 22:08 daveiro

I have implemented the selection on hover functionality in the devel branch which will be generally available in the next stable release.

phase1geo avatar Sep 06 '20 02:09 phase1geo

I have also added support for the Shift+Home and Shift+End text selection capabilities.

phase1geo avatar Sep 07 '20 18:09 phase1geo

Great!! Many thanks for the new functionalities! :+1: Will you also add the Shift+down/up arrow capability to allow multiple node selection on the same level?

daveiro avatar Sep 07 '20 20:09 daveiro

Hi there! And Happy New Year! :) I Wasn't using mindmaps for a while, and now that I got back, I am facing some issues which I will report in different thread. However I would like to remind the enhancement request of using keys Shift+down/up arrow to allow multiple node selection on the same level in an excel like way. You mentioned on Aug 26 that this would be added in a later release. I am using minder-1.11.2-1.fc32.x86_64 from fedora 32 repo.

daveiro avatar Jan 01 '21 20:01 daveiro

Hello! wow almost a year passed after my last comment here ;) Been happily using minder ever since, but still missing a lot the possibility of using keys Shift+down/up arrow to allow multiple node selection on the same level in an excel like way. I understood you mentioned on Aug 26 (2020) that this would be added in a later release. Is this the case in the latest version? I am happy to see that saving the folded state of child nodes is implemented already (I've requested that in the past also) but I am running 1.13.1 version from Fedora and could not build/install the latest git version. I am now on Fedora 35 (in Fedora 33 I successfully build/installed it) and installed all dependencies (including valac 0.48.15) but I get the following error on compiling: https://pastebin.com/VtfYkSMS am I missing something? Thanks and kind regards, David

daveiro avatar Jan 13 '22 18:01 daveiro

PS: compiling error solved. I had, by mistake, downloaded valac for the wrong CPU type 🤦 successfully built/installed latest master 1.14 version and saving state of folded child nodes works great :) and I see the "spreadsheet" way of selection is not implemented, so I remind my request, thanks!

daveiro avatar Jan 15 '22 13:01 daveiro