info: if "Allow tree selection" is marked (customize view), then it will jump to that this view..
After reading this and playing around with it, I see how it's working now. For the benefit of others who may be as confused as I was, I'll explain the behavior I'm seeing. I question the utility of this behavior and wonder if there may be a better way to implement it. So maybe some of you will chime in with your observations, opinions and/or ideas as well.
First, let me clarify that I'm talking about the behavior of Locate which can be found in the Locate menu under the main Tools menu, the Locate menu found by right clicking on a file in the file list, and the Locate that occurs by clicking the little arrow to the left of fields in the file list. All of these behave in the same manner. (1)
The primary setting that determines where Locate jumps is the "Allow tree selection" setting (which I'll abbreivate ATS) which is found in "Customize view..." for each view scheme (2). Furthermore, it is only the ATS setting of the root and it's 1st level views which are pertinent. Children of 1st level views will behave based on the ATS setting of its 1st level parent.
So here's what I've observed:
* If the root (E.g., Audio) has its ATS setting enabled, then a Locate (from ANY view under the root) will always jump to the root's view. This will occur regardless of any of the other view's ATS setting.
* When the root ATS setting is disabled, then a Locate from any view that has its 1st level ATS setting enabled will stay within that view. (3)
* When the root ATS setting is disabled, then a Locate from any view without its 1st level ATS setting enabled will jump to the last viewed view scheme that DOES have its 1st level ATS setting enabled. E.g., If you are viewing a scheme for Artists that has ATS enabled, then goto Genres that does NOT have ATS enabled and do a Locate from within Genres, it will jump back to the Artists view.
* When the root ATS setting is disabled and all other 1st level view's ATS settings are also disabled, Locate jumps to the 1st level view that last had it's ATS setting enabled. (A bit odd, but consistent.)
So, given this behavior, here are 3 configurations that seem useful:
1) Enable ATS for the root and always have Locate jump there.
2) Disable ATS for the root, but enable it for one and only one 1st level views under the root. This is similar to case 1) in that Locate will always jump to this one location.
3) Disable ATS for the root, but enable it for all other 1st level views under the root. This way, a Locate within any of these will never jump away from the current view.
I didn't include having a mix of ATS settings in the 1st level and letting Locate jump to the previously viewed scheme because IMHO this isn't very useful. I don't often enter a view intending to use Locate such that I have previously clicked on the view that I would want to be jumping to. Thus, for all intents and purposes, the location of the jump ends up being fairly random. (4)
There's also the problem that Locate will not jump to any view UNDER the 1st level view. Thus, if a view with children has it's ATS disabled such that it is acting like a category, then Locate will never jump to any of it's children regardless of their ATS settings.
I have to think there is a better way of having Locate behave such that it is at the same time predictable, flexible and useful. A first step might be decoupling it from ATS and giving it its own setting in "Customize view..." Something like "Allow Locate selection". Also, allow it to jump to any level withing the tree, not just the 1st level. In the case were there are multiple possible targets, providing a pop-up selection menu similar to what comes up during a search would allow the user to quickly narrow the selection to the one intended or allow a default behavior.
Since I'm better at analysis then coming up with perfect solutions, I'll leave it there for others to comment on (or not.)
Notes:
(1) The behavior I'm describing was observed using the Audio tree and using Locate on the Album, Artist and/or Genre fields of files within the tree. My tree consists of a number of 1st level views below the root Audio (e.g. Artists, Files, Genres, etc.) Some views have children and some do not, but they all behave the same regardless. I can't comment on how Locate works for other tree views or between tree views as I haven't tried this. Also, this does not apply to Locate used to find a file On Disk, internally or externally to MC (which works as one would expect,) nor Locate using the fields available in the Advanced sub-menus which I also haven't tried.
(2) This is not the primary function of the ATS setting. As described by Marko
here, this setting "applies to views that contain sub-views" and controls whether that view can be selected in MC or not. If checked, "this view in the tree ... will display to the right of the tree as expected. If this is unchecked, MC will never load this view, instead, when selected, it will expand the [tree] and select the last used sub-view contained within."
(3) I've seen only one caveat to this which confused me for a bit. If you enable ATS in a view (by right clicking and choosing
Customize View...) then immediately try to Locate from that view, the jump goes to wherever it would have
before having set ATS for that view. One has to first
left-click on the view
after ATS is enabled. It's like the setting is only queried by MC on the initial left-click/entry into the view. (This is similar to other behavior in MC where some views do not refresh until you leave the view and come back. Notably panes in a view scheme after a Copy, Move, Rename.)
(4) I concede that there are probably use cases where this behavior makes sense. Perhaps you have a primary view which you always use, and rairly use a different view such that the last view scheme viewed is always your primary one. That's not however the way I use MC.