Ticket #2143 (new defect)

Opened 8 years ago

Last modified 6 years ago

Inconsistent mouse-scrolling behavior in 4.7 (regression)

Reported by: alex_sh Owned by:
Priority: major Milestone: Future Releases
Component: mc-core Version: 4.7.1
Keywords: mouse wheel scrolling Cc:
Blocked By: Blocking:
Branch state: no branch Votes for changeset:



I'm using 4.7.1 (migrated from 4.6.2) and the new scrolling behavior is really unusable for me. It is inconsistent and actually requires performing more actions than necessary, while not adding any usability benefits.

The culprit seems to be the following commit:

"Smooth scrolling in file panel. If listing panels is operated with the mouse wheel, when window is at top or bottom of the list, then selection "jumps" to first/last item. Now it smoother: keep window and decrease/increase selection in single steps."

The reasons this is bad are:

  • It makes a user action inconsistent: a simple action (mouse wheel scroll) now behaves differently depending on whether we're at the beginning/end of the list, or in the middle. In my opinion, the UI consistency should be one of the primary goals of every program.
  • It requires 17 (!) scroll events in a typical small terminal window just to move the cursor

from the bottom to the top (in a single screenful of files/dirs). Considering that this scrolling is quite often used to just scroll up to the ".." entry, this behavior forces the user to perform a lot more actions than necessary.

  • It doesn't introduce any benefits - if the user uses the mouse to navigate the panel, he/she can just click/double-click/right-click the needed entry, no need to scroll there one-by-one. Furthermore, the one-by-one scrolling doesn't even work unless we're at the top or bottom of the list.

The current situation is that mc takes the scrolling speed to two extremes - a single scroll event can either move the cursor a whole page, or a single entry.

I think the most reasonable fix would be to take, say, 1/3 of the maximum files/dirs on a single screen (for 24 entries that would be 8), then always scroll by that amount.

Change History

comment:1 Changed 6 years ago by andrew_b

  • Branch state set to no branch
  • Milestone changed from 4.7 to Future Releases
Note: See TracTickets for help on using tickets.