Missing UI for changing and using the default sort order
As requested in #636 (closed), please can UI be added for changing the default sort order, and for configuring folders to use it?
Use cases
-
Researcher and busy data manager Alice collaborates with her departmental colleagues using shared network drives, which she navigates with Nautilus 3.30. Her office uses a defined and regularly updated
yyyy/mm/dd/category
folder structure for new data as it comes in, and Alice manages a lot of projects that work just like that. The new Sort → Last Modified menu item works well for all of her work, but it doesn't seem to "stick" when she changes it. She has to fiddle with the menu for each new day, and each new category. What's going on here? Alice hates having to change the sort order for each new folder when it appears. -
Freelance photographer Bob stores his files on his laptop, but he's in pretty much the same pickle as Alice. Like a lot of photographers, he stores his RAW files in a folder structure with locations and dates in it. Bob doesn't get on with photo management software, and tends to make notes about clients' requirements in the folder structure itself. It's a pretty loose structure really, built up over the years. He selectively archives folders and files which haven't been updated for a while from this tree into cloud storage to save space. He needs to switch between icon view sort orders quite regularly, and then bounce between folders looking at them in the same way.
Desired behaviour
Both Alice and Bob need a way of changing Nautilus's two default sort order settings, namely:
-
org.gnome.nautilus.preferences
default-sort-order
default-sort-in-reverse-order
The preferences item for changing the first of these settings went away in b1392c7a, with a promise that the menu should offer it to the user instead. There has been no adequate replacement since. There never has been UI for changing the second preferences item.
Now that we have the nice view-specific dropdown, it's time to revisit this bit of gradual feature erosion. It can be addressed quite efficiently now. I believe the current approach is to offer sort options in the view dropdown, so I suggest adding two new menu items, separated by a divider:
The new menu items in the mock-up above are:
-
"Use Default" radio item. This is a new option for sorting the current folder. It corresponds to the GVFS metadata attributes
metadata::nautilus-icon-view-sort-by
andmetadata::nautilus-icon-view-sort-reversed
being both undefined. In this state, the folder sorts according to the DSO (provided !366 (merged) is applied if you're using master😀 ) -
"Save Sort as Default" simple menu item. This is separated from the sort actions for spacing reasons and because it is not a valid choice for sorting. It is a oneshot action which reads the current folder-specific order and reversed flag and writes it into the DSO.
Item 2 should also be visible in the list view. When the current view is a list view, it should read from the nautilus-list-view-sort-column
and nautilus-list-view-sort-reversed
instead, and write those to the DSO settings.
Open question
- Should "Save Sort as Default" also make the current folder "Use [the] Default" sort order?
Benefits of the solution
- This allows users to change the default sort order, and whether the current folder uses it.
- Users coming from systems where there is just one sort order and it's the default are more comfortable.
- Users who need just one behaviour for all folders are less frustrated.
- Users who have change the sort order for lots of folders to get back the old behaviour after being bitten by #636 (closed)
Possible drawbacks
- The UI is a little bit more complicated.
As a way of managing this, we can use clustering and adjacency to keep the DSO-related items together as per the mockup. This provides something of a visual and discursive explanation of what's what. I don't claim anyone thinks like me, but the potential questions "what does 'Default' mean?" and "how do I set that?" seem to be answered in a condensed bit of screen space. ("Aha! It's the default sort order because it's listed next to the other ones!", and "Oh here it is, right under the sort options.")
- Conceptually it's still complex.
This is about the best way I can think of to manage two different sort orders, one of which is a fallback for the other. Things would be much simpler if there was just one sort default order, or just one sort order for each view!
(But seriously. The model is complex and weird, and it could be simplified. A weird and over-fussy model can cause bad UI. Making each folder have its own sort order is glaringly fussy compared to the rest of Nautilus's stripped-down design.)