After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 742648 - Mouse wheel adjusts volume in too large intervals, please make it smoother
Mouse wheel adjusts volume in too large intervals, please make it smoother
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: system-status
3.14.x
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2015-01-09 14:11 UTC by Kamil Páral
Modified: 2015-01-20 09:44 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
slider: Don't hardcode scroll interval for smooth scrolling (921 bytes, patch)
2015-01-10 12:13 UTC, drago01
committed Details | Review
Lower slider scrolling step to 2% (757 bytes, patch)
2015-01-16 17:25 UTC, drago01
committed Details | Review

Description Kamil Páral 2015-01-09 14:11:45 UTC
When I put mouse cursor over the speaker icon in top right corner, or over the volume slider in the menu, and then scroll up and down, every change adjusts the volume by 10% (up or down). I find that step excessively large. When I want to make my video/music/game just a bit louder or just a bit quieter (which is the majority of cases), I always need to grab the slider with mouse cursor and move it manually to achieve a smaller change. So, the first problem is that it's not possible to make a small adjustment without grabbing the slider.

The second problem is that with a mouse wheel it's not always easy to scroll just a single notch up or down. Especially with continuous scroll wheel (no steps/notches), you have no indication of the scroll events and instead of scrolling just one notch, you very easily scroll 3 or more notches with just a small movement. Which increases/decreases your volume by 30+%, which is really a problem for unintentional change.

The third point in my reasoning is that a scroll wheel is not a button, and it's much easier to generate continuous events with it (compared to pressing a button multiple times). So the interface should be adapted to this - a smaller volume step, which can be easily repeated for reaching a larger volume change. In my testing, I can easily generate ~12 scroll events in a single scroll movement when turning the wheel up or down, and up to 40 scroll events in a single scroll movement by giving the wheel some momentum and letting it spin. Of course this will be different for every mouse, but you get the idea.

I think it would be reasonable if you changed the 10% volume step to 2% or 3% volume step. This would allow users to fine-tune their volume by simply scrolling over the speaker icon, without having to expand the menu and grab and move the slider every time their song changes and has a slightly different volume level (how often does this happen to you? it's like a 100 times per day for me). It would also allow people to change the volume considerably by scrolling the wheel more, around 30% up in a single full-length scroll (or more if you let it spin), which is I believe a reasonable value. It would also eliminate problems with mice with continuous scroll wheels, because the volume change would be much more smooth and fluent, instead of a rapid change by the slightest movement.

If you want to compare this with other operating systems, I have tested this in Windows 7, and each scroll wheel movement adjusts the volume by 2% (both above the speaker icon and above the volume slider).

Thank you.

gnome-shell-3.14.3-1.fc21.x86_64
Comment 1 drago01 2015-01-10 12:12:03 UTC
Well it is supposed to be 5% not 10% see: https://git.gnome.org/browse/gnome-shell/tree/js/ui/slider.js#n10 but it is hardcoded to 10% for smooth scrolling: https://git.gnome.org/browse/gnome-shell/tree/js/ui/slider.js#n200 so lets just fix that.
Comment 2 drago01 2015-01-10 12:13:45 UTC
Created attachment 294217 [details] [review]
slider: Don't hardcode scroll interval for smooth scrolling

Use the SLIDER_SCROLL_STEP constant instead for consistency.
Comment 3 Florian Müllner 2015-01-10 13:30:20 UTC
Review of attachment 294217 [details] [review]:

Sure
Comment 4 drago01 2015-01-10 13:56:52 UTC
Attachment 294217 [details] pushed as e3a8a28 - slider: Don't hardcode scroll interval for smooth scrolling
Comment 5 Kamil Páral 2015-01-15 15:32:15 UTC
Thanks, it's definitely an improvement. Could we go below 5% (i.e. make the step 2% or 3%)?

I'm using https://extensions.gnome.org/extension/858/volume-mixer/ at the moment (the git version is better) for configuring the step and it's a very smooth experience with the smaller step. It makes volume adjustment more comfortable.
Comment 6 drago01 2015-01-16 17:25:27 UTC
Created attachment 294703 [details] [review]
Lower slider scrolling step to 2%
Comment 7 drago01 2015-01-16 17:26:10 UTC
<aday> drago01: smaller increments make sense to me
<aday> without trying it :)

Attachment 294703 [details] pushed as 554de3f - Lower slider scrolling step to 2%
Comment 8 Kamil Páral 2015-01-20 09:44:41 UTC
Thanks, folks!