I recently noticed that opening submenus in KDE apps is sometimes not as easy as in GTK+ apps. I try to explain the reason: In GTK+, the menuitem below or above the currently selected one won't be selected unless the mouse pointer leaves the currect menuitem almost vertically. While in KDE, even if the pointer leaves the currently selected menuitem within a small horizontal angle to reach some item on an opened submenu, that submenu might be closed because the pointer might pass over another menuitem below or above the selected one. So, the only safe way to reach an item on a submenu is to move the pointer first horizontally and then vertically, which isn't so easy. Reproducible: Always Steps to Reproduce: 1. Select a menitem with submenu. 2. Move the mouse pointer toward the submenu not exactly horizontally. Actual Results: The submenu may dissapear before any of its items is selected. Expected Results: The submenu shouldn't dissapear if the pointer movement is within a small horizontal angle.
Menus are handled by the Qt library. If this is an issue with a recent Qt version (4.8.x), please report directly to Qt developers via https://bugreports.qt-project.org/
Hello, This isn't a recent issue. I recently migrated to KDE from Gnome and, at last, found why KDE and Qt menus behave so. However, I'd seen the same behavior with KDE 3. It's not a big issue but moving the pointer along the hypotenuse is the most natural thing to do; Isn't it?
Just for reference: It's related to Oxygen and not kdelibs. At least with my own theme engine instead of Oxygen, setting QStyle::SH_Menu_SloppySubMenus to true fixed the issue.
Hugo, could you check comment #3?
Hi Christoph, tested setting the mentionned stylehint. I agree that submenu poppign up is somewhat less erratic so I guess I'll set this to true and commit. I have not noticed "clear" regressions that would cause people that where used to the "old" behavior to complain ...
Git commit 1b126fb88ea9a36ff1cd98c45b77a278a537270b by Hugo Pereira Da Costa. Committed on 28/05/2014 at 14:10. Pushed by hpereiradacosta into branch 'master'. set to true the (infamous) SH_Menu_SloppySubMenus flag. This ease submenu popping. M +1 -0 kstyle/oxygenstyle.cpp http://commits.kde.org/oxygen/1b126fb88ea9a36ff1cd98c45b77a278a537270b
Git commit 0e7e5b0bbce6495cd7dfe6c096b9bd8a6b3fbde4 by Hugo Pereira Da Costa. Committed on 28/05/2014 at 14:24. Pushed by hpereiradacosta into branch 'KDE/4.11'. set to true the (infamous) SH_Menu_SloppySubMenus flag. This ease submenu popping. M +1 -0 kstyles/oxygen/oxygenstyle.cpp http://commits.kde.org/kde-workspace/0e7e5b0bbce6495cd7dfe6c096b9bd8a6b3fbde4