Bug 317024

Summary: Tray icon wheel action changes volume too much
Product: [Applications] kmix Reporter: Adam Porter <adam>
Component: generalAssignee: Christian Esken <esken>
Severity: normal CC: adaptee, akulichalexander, enrico.tagliavini, honyczek, mklapetek, rdieter
Priority: NOR    
Version: 4.3   
Target Milestone: ---   
Platform: Other   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=316546
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Adam Porter 2013-03-19 11:50:54 UTC
When I use the mouse wheel on the tray icon, each click of the wheel adjusts the master volume by 15%.  This is way too much.  It's currently at 35%, and one click of the wheel takes it to 50%.  I only need to raise it by about 5%.  To do this I have to open the mixer and then adjust the volume.

I may be mistaken, but I think prior to 4.10, the wheel only adjusted it by 5-7%.  I'm guessing something changed and now KMix is "respecting" the "number of lines per wheel click" setting, which is set to 3 lines per click.  But that doesn't make sense for adjusting volume, so KMix should just have a setting for how many percent to adjust it on each click of the wheel.

Reproducible: Always
Comment 1 Jekyll Wu 2013-03-19 12:01:50 UTC

*** This bug has been marked as a duplicate of bug 315920 ***
Comment 2 Adam Porter 2013-03-19 22:02:27 UTC
I looked at bug 315920.  It's not the same bug.  This bug is only about how the *tray icon* responds to the *mouse wheel.*
Comment 3 Martin Klapetek 2013-03-29 10:46:18 UTC
I can confirm this bug. I think it has to do with the systray being rewritten to QML, so the events are now handled slightly differently. Might also have something to do with "scroll N lines" setting, that is 3 by default, so if 1 wheel scroll is/was 5%, the 15% is the result of applying correct settings in the new QML systray. But this is untested and just my hypothesis...
Comment 4 Alexandr Akulich 2013-04-13 22:08:21 UTC
Martin Klapetek: You're totally right.
I hacked kmix and turned out tripple trayWheelEvent().
Amarok suffered by same issue. (I hope noone will create also one bugreport)
DBus-call Scroll() cause only one event (and proper volume-control).

Bug 317976 have exacly same nature.

So, this is not bug in kmix.
Comment 5 Enrico Tagliavini 2013-04-14 09:27:56 UTC
I agree this is not a bug in kmix at all. This is probably just a duplicate [or maybe the source of the two is the same] of bug 316546 . 

As I said there, I done some debug on the source code. For a single wheel movement  KStatusNotifierItem [the new system tray icon handler using dbus and not X11] get 3 events and not only 1. I hacked the kmix code a bit and I can confirm that a single even have a change in volume equal to 5% [the correct default]. But since it get called 3 times the change is 15%.

Amarok uses KStatusNotifierItem too and suffers from the same problem.

I've written a very simple Qt program using QSystemTrayIcon [which still uses X11 code to handle events] and it works as expected.
Comment 6 Rex Dieter 2013-04-17 17:02:56 UTC
bug #313579 is the one

*** This bug has been marked as a duplicate of bug 313579 ***