Ticket #3157 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

Unify sort arrow's direction

Reported by: egmont Owned by: andrew_b
Priority: minor Milestone: 4.8.12
Component: mc-skin Version: 4.8.11
Keywords: Cc:
Blocked By: Blocking:
Branch state: merged Votes for changeset: committed-master


The arrow's direction (in the "Name | Size | Modify time" header line) is inconsistent across skins.

(i) In "dark" and "darkfar", the up arrow ↑ denotes the list is ascending, whereas the down arrow ↓ means the list is descending. Many other skins ("default", "double-lines", "gotar", "mc46") mimic this behavior with the "'" and "," ascii characters.

This would make sense if it was e.g. list of numbers written from left to right. But it's a list that is laid from the top to the bottom, introducing a confusing inversion of the semantics. That is, an arrow pointing upwards means that the list is growing downwards.

This behavior doesn't sound logical to me, and is against how other UI implementations approach the problem. Just one example: the "Order by" line at https://bugs.launchpad.net/ubuntu/+source/mc/

(ii) Many other skins ("featured", "nicedark", "modar*", "sand256", "xoria256") probably figured out that it doesn't make too much sense and swapped the two. Here an arrow pointing downwards means the alphabetical list goes downwards. I believe this is the one that makes sense. However they pay the price of being confusing in the skin definition, since they have "sort-sign-up = ↓" and "sort-sign-down = ↑".

I recommend cleaning up this situation so that all the skins behave as (ii). However, to stop the inversion in the skin files, I recommend the skins listed in (ii) to be modified, and also the meaning of the two characters should be swapped in the source code.

Further nitpicking: The default skin currently shows an apostrophe "'" by default which looks quite nice. With the change, it will show a comma "," by default and that's not so nice visually. Unfortunately we need to stick to ascii for compatibility. I think a dot "." instead of the comma would be just as good but would look nicer. Or a space would do too (it's not important to mark the default order, it's enough if the reverse order is marked. The feature would still be discoverable since clicking on the Name, Size... labels also reverses the order.) If a space is chosen, I'd maybe consider changing the order of this symbol and the next letter (n, s or m).


mc-3157-sort-arrow.patch (7.3 KB) - added by egmont 3 years ago.

Change History

Changed 3 years ago by egmont

comment:1 Changed 3 years ago by egmont

Space can't be defined in the .ini files, and swapping the two characters didn't look good to me. So I changed changed ',' to '.', but this part can be reverted if you wish. Please see the patch.

comment:2 Changed 3 years ago by andrew_b

  • Owner set to andrew_b
  • Status changed from new to accepted
  • Branch state changed from no branch to on review
  • Milestone changed from Future Releases to 4.8.12

comment:3 Changed 3 years ago by andrew_b

  • Status changed from accepted to testing
  • Votes for changeset set to andrew_b
  • Resolution set to fixed
  • Branch state changed from on review to merged

comment:4 Changed 3 years ago by andrew_b

  • Votes for changeset changed from andrew_b to commited-master

comment:5 Changed 3 years ago by andrew_b

  • Status changed from testing to closed

comment:6 Changed 3 years ago by andrew_b

  • Votes for changeset changed from commited-master to committed-master

comment:7 Changed 3 years ago by egmont

Thanks for applying the patch :)

Just for future reference, to correct myself: I was wrong saying that a space can't be specified in the .ini file, it can be as "\s". (I'm not implying to change this, I think the current version is just fine. I have no preference pro/con a space or a dot. Just mentioned it for the record.)

Note: See TracTickets for help on using tickets.