Summary: | Scrollviews automatically scroll up or down when you hover over a partially-visible list item | ||
---|---|---|---|
Product: | [Frameworks and Libraries] libplasma | Reporter: | Patrick Silva <bugseforuns> |
Component: | components | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | minor | CC: | aibok42, Alydar715, bharadwaj.raju777, fanzhuyifan, heqromancer, iodreamify, kde.podagric, kdeu, matteo, me, med.medin.2014, mklapetek, nate, northivanastan, notuxius, phd, plasma-bugs, popov895, s_chriscollins, tgnff242, this.is.reid |
Priority: | HI | Keywords: | usability |
Version: | 5.78.0 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
See Also: |
https://bugs.kde.org/show_bug.cgi?id=437155 https://bugs.kde.org/show_bug.cgi?id=426015 https://bugreports.qt.io/browse/QTBUG-114574 |
||
Latest Commit: | Version Fixed In: | 6.0 | |
Sentry Crash Report: | |||
Attachments: |
demonstration
Video demo new kickoff clipboard applet has the same behavior |
Video file is corrupt, and the behavior you appear to be describing is not a bug, though I definitely still think this should be changed. Recommend changing priority to wishlist. I think this issue is an usability problem at least. I can play the video using chromium and Opera browsers. Firefox says the file is corrupted. I can't open the video in any app on macOS. In the future, please attach videos in the webm format. Created attachment 109319 [details]
Video demo
Added an alternate video in WEBM format for Graham and others who have issues w/ MP4
Thanks Ivan. Yeah, that's bit of a strange user experience and I agree that we should change/fix it. Can reproduce in: Plasma: 5.12.2 Apps: 17.12.2 Frameworks: 5.43.0 Qt: 5.10.1 Kernel: 4.14.22-1-MANJARO OS: Netrunner Rolling In fact all tabs are affected by this annoying usability problem. *** Bug 426015 has been marked as a duplicate of this bug. *** Git commit 59985c6ed75ac9d63aa92785f913fb6943671f03 by Nate Graham, on behalf of Mikel Johnson. Committed on 07/01/2021 at 15:41. Pushed by ngraham into branch 'master'. Kickoff redesign This commit completely overhauls Kickoff's user interface! Original design (UI/UX) discussion ---------------------------------- - https://phabricator.kde.org/T12192 - https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/186 Features / issues ----------------- New: - Double pane UI - Both keyboard and mouse navigation have been overhauled - Power/Session actions are available in the footer - Improved RTL support - Grid view - All applications view - Accessibility Screenshots / Videos -------------------- Apps ![image](/uploads/b44c0e36d7687b22f9df563ed19aad19/image.png) Places ![image](/uploads/93ad74bd8e037dc70d4927eb20a8ec29/image.png) Search ![image](/uploads/f77da9df55bd1f9e75c0b0de96eebfd8/image.png) Accessibility https://youtu.be/Vqah3yL5h_E Bugs fixed ---------- Related: bug 357379, bug 369159, bug 369405, bug 378815, bug 387510, bug 391383, bug 392005, bug 393401, bug 394924, bug 398234, bug 398279, bug 398349, bug 398350, bug 398352, bug 398353, bug 405674, bug 408313, bug 410018, bug 412090, bug 415392, bug 416423, bug 419169, bug 423160, bug 425970, bug 426329, bug 427846, bug 428297 FIXED-IN: 5.21 @teams/vdg A +7 -0 applets/kickoff/ABOUT DESIGN CHANGES D +0 -71 applets/kickoff/DESIGN-GOALS M +6 -6 applets/kickoff/package/contents/config/config.qml M +45 -39 applets/kickoff/package/contents/config/main.xml M +9 -16 applets/kickoff/package/contents/ui/ActionMenu.qml A +144 -0 applets/kickoff/package/contents/ui/ApplicationsGroupView.qml [License: GPL (v2+)] M +128 -46 applets/kickoff/package/contents/ui/ApplicationsView.qml M +12 -12 applets/kickoff/package/contents/ui/BaseView.qml M +13 -5 applets/kickoff/package/contents/ui/Breadcrumb.qml M +0 -2 applets/kickoff/package/contents/ui/ComputerView.qml D +0 -227 applets/kickoff/package/contents/ui/ConfigButtons.qml M +72 -18 applets/kickoff/package/contents/ui/ConfigGeneral.qml C +29 -43 applets/kickoff/package/contents/ui/FavoritesGridView.qml [from: applets/kickoff/package/contents/ui/FavoritesView.qml - 061% similarity] M +14 -24 applets/kickoff/package/contents/ui/FavoritesView.qml R +2 -3 applets/kickoff/package/contents/ui/FrequentlyUsedView.qml [from: applets/kickoff/package/contents/ui/OftenUsedView.qml - 089% similarity] M +599 -451 applets/kickoff/package/contents/ui/FullRepresentation.qml M +117 -64 applets/kickoff/package/contents/ui/Header.qml M +8 -9 applets/kickoff/package/contents/ui/Kickoff.qml D +0 -67 applets/kickoff/package/contents/ui/KickoffButton.qml D +0 -60 applets/kickoff/package/contents/ui/KickoffConfigurationButton.qml A +106 -0 applets/kickoff/package/contents/ui/KickoffGridItem.qml [License: GPL (v2+)] A +345 -0 applets/kickoff/package/contents/ui/KickoffGridView.qml [License: GPL (v2+)] D +0 -31 applets/kickoff/package/contents/ui/KickoffHighlight.qml M +45 -40 applets/kickoff/package/contents/ui/KickoffItem.qml M +184 -26 applets/kickoff/package/contents/ui/KickoffListView.qml A +145 -0 applets/kickoff/package/contents/ui/LeaveButtons.qml [License: GPL (v2+)] R +13 -11 applets/kickoff/package/contents/ui/PlacesView.qml [from: applets/kickoff/package/contents/ui/LeaveView.qml - 065% similarity] M +0 -1 applets/kickoff/package/contents/ui/RecentlyUsedView.qml M +25 -13 applets/kickoff/package/contents/ui/SearchView.qml M +4 -2 applets/kickoff/package/contents/ui/SectionDelegate.qml M +2 -2 applets/kickoff/package/contents/ui/code/tools.js M +3 -3 applets/kickoff/package/metadata.desktop https://invent.kde.org/plasma/plasma-desktop/commit/59985c6ed75ac9d63aa92785f913fb6943671f03 Created attachment 134960 [details]
new kickoff
Unfortunately this annoying behavior persists with new kickoff.
Watch the attached screen recording please.
Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.20.80
KDE Frameworks Version: 5.79.0
Qt Version: 5.15.2
Created attachment 134968 [details]
clipboard applet has the same behavior
Possibly this issue should be re-assigned to another product.
Clipboard applet is also affected if we set clipboard history to a value greater than 7 in its settings.
Yes, this is a generic issue in the Plasma ListItem. Moving. *** Bug 432710 has been marked as a duplicate of this bug. *** *** Bug 433904 has been marked as a duplicate of this bug. *** *** Bug 429392 has been marked as a duplicate of this bug. *** *** Bug 428965 has been marked as a duplicate of this bug. *** *** Bug 342587 has been marked as a duplicate of this bug. *** *** Bug 396951 has been marked as a duplicate of this bug. *** Wow, tons of duplicates. I guess people really don't like this behavior. Even a basic QtQuickControls 2 ScrollView still has this behavior. Still have not found what exactly is triggering it, whether that is something deep in Qt or a thing we are overlaying on top of it in Plasma-land. Because QQC2 apps that have ListView inside ScrollView do not seem to suffer from this issue. *** Bug 421865 has been marked as a duplicate of this bug. *** *** Bug 438485 has been marked as a duplicate of this bug. *** Dupes piling up; raising to VHI as this causes various small annoying usability issues all over the place in Plasma. *** Bug 439085 has been marked as a duplicate of this bug. *** *** Bug 442592 has been marked as a duplicate of this bug. *** *** Bug 442594 has been marked as a duplicate of this bug. *** (In reply to Nate Graham from comment #20) > Even a basic QtQuickControls 2 ScrollView still has this behavior. Still > have not found what exactly is triggering it, whether that is something deep > in Qt or a thing we are overlaying on top of it in Plasma-land. It's in QML ListView. It scrolls the view to move the current item into view. The docs say: "If highlightFollowsCurrentItem is true, setting either of these properties will smoothly scroll the ListView so that the current item becomes visible." However, it seems like the scrolling happens even if highlightFollowsCurrentItem is false. I've tried messing around with custom highlight size and positioning, but haven't got a solution that way. > QQC2 apps that have ListView inside ScrollView do not seem to suffer from this issue. Because QQC2 list delegates generally don't set currentIndex on hover. Plasma's *ListItem components do. We could probably make it so that hovering doesn't change currentIndex but only highlights, but that would make it so that there can be two highlighted items visible, with one of them being the actual current item and the other only a hover. But the idea is worth discussing, maybe we can have the hovered-but-not-current highlight be more subtle/subdued etc. A possibly relevant merge request was started @ https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/398 *** Bug 447192 has been marked as a duplicate of this bug. *** For the record, I'm not a fan either. At the very least it should come with an animated scrolling. A possibly relevant merge request was started @ https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/641 A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2294 *** Bug 469466 has been marked as a duplicate of this bug. *** I did some investigation of my own today and largely came to the same conclusion that Bharadwaj did. I think unfortunately we have to call this one an upstream issue--if not intentional--unless we want to get rid of the "currentItem follows hover" approach. But then there would be two selection highlight effects (one for the thing that's actually selected, and another for the thing that's hovered) and it would get very confusing very quickly. I think we would be trading one issue for another. So as long as we use this behavior of setting the selected item to be the hovered one, we're stuck with this behavior until and unless QtQuick ListView gains an option to not scroll an only-partially-visible selected item fully into view. I submitted a Qt bug report about it: https://bugreports.qt.io/browse/QTBUG-114574 If and when Qt adds the functionality we need, we'll use it and re-open this bug report to track rolling it out. Git commit b8705faa7b32e94920bb57faa871814b8a7faa56 by Bharadwaj Raju. Committed on 13/11/2023 at 20:24. Pushed by bharadwaj-raju into branch 'master'. ExpandableListItem: Don't change currentIndex if item is partially visible M +9 -1 src/declarativeimports/plasmaextracomponents/qml/ExpandableListItem.qml https://invent.kde.org/plasma/plasma-framework/-/commit/b8705faa7b32e94920bb57faa871814b8a7faa56 Git commit 31a547cc420c0778140fad7ed2b0adb2ff46a97f by Bharadwaj Raju. Committed on 13/11/2023 at 20:41. Pushed by bharadwaj-raju into branch 'master'. applets/clipboard: Don't scroll when hovering on partially-visible list item M +6 -1 applets/clipboard/contents/ui/Menu.qml https://invent.kde.org/plasma/plasma-workspace/-/commit/31a547cc420c0778140fad7ed2b0adb2ff46a97f This is now fixed for the clipboard widget with https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2294, and for all other system Tray widgets with https://invent.kde.org/plasma/plasma-framework/-/merge_requests/641. Thanks for getting it done, Bharadwaj! (In reply to Nate Graham from comment #37) > This is now fixed for the clipboard widget with > https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2294 It still scrolls automatically when I hover over the *first item* when it is only partially visible. But I guess a upstream fix would be far better than patching all the individual cases. I can also reproduce when hovering over the first item of Clipboard applet. It's still reproducible even when hovering over the last search result in Kickoff. Operating System: Arch Linux KDE Plasma Version: 5.91.0 KDE Frameworks Version: 5.247.0 Qt Version: 6.7.0 Graphics Platform: Wayland Can still reproduce in Kickoff, but not in Clipboard. At this point we'll need new bug reports--one per individual widget affected. There is unfortunately not a way for us to fix it universally so each affected widget needs its own fix. ...And I see Kickoff already has a bug report: Bug 426015. |
Created attachment 109318 [details] demonstration Summary says by itself, I think this behavior annoying. Watch my screencast recorded on Arch Linux, plasma 5.11.4.