Bug 434146 - Hover description doesn't follow mouse in Wayland.
Summary: Hover description doesn't follow mouse in Wayland.
Alias: None
Product: filelight
Classification: Applications
Component: general (show other bugs)
Version: 20.12.3
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Martin Sandsmark
Depends on:
Reported: 2021-03-08 16:38 UTC by Bernhard Nornes Lotsberg
Modified: 2022-11-24 10:37 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Note You need to log in before you can comment on or make changes to this bug.
Description Bernhard Nornes Lotsberg 2021-03-08 16:38:44 UTC
When holding the cursor over an item in the application, the full path and size of said object is shown in a small box near the mouse. On Wayland (QT_QPA_PLATFORM=wayland), this box stays in place when moving the mouse. With QT_QPA_PLATFORM=xcb the box follows the mouse as normal.

1. Start filelight with QT_QPA_PLATFORM=wayland
2. Hover mouse over object
3. Move mouse

Box does not follow mouse cursor.

Box follows mouse cursor

Linux: Arch Linux. Updated as of March the 8th. Using SwayWM.
Qt Version: 5.12.5

It also happens in Wayfire, another Wlroots based Wayland compositor.
Comment 1 Bug Janitor Service 2022-11-21 13:59:59 UTC
A possibly relevant merge request was started @ https://invent.kde.org/utilities/filelight/-/merge_requests/61
Comment 2 Harald Sitter 2022-11-24 10:37:51 UTC
Git commit e06fcc2eb04c7d3b70a4cebaef6aa23b89ad0677 by Harald Sitter.
Committed on 24/11/2022 at 10:35.
Pushed by sitter into branch 'master'.

port painting to qml & add list view

this brings more of the UI into the qml world, this time the rendering
of the filelight map. it is implemented using qtquick shapes of stacking
circles. this also introduces a listview to more reasonably glance,
navigate and manage files inside the current scope (as opposed to the
previous labeling approach inside the map). to ease discoverability the
hover states between map and list are somewhat linked so it becomes
easier to spot which segment is where in the list, and vice versa.

to facilitate all this a huge amount of reshuffling happened:

- item.cpp no longer exists, its functionality moved into either qml or
the map.cpp
- new classes dropperitem (to receive drop events from qml)
contextmenucontext (to implement the c++ side of context menu actions)
filemodel (to model the file objects for the listview)
- File is no longer a QObject, this has been moved up one level in the
architecutre -> Segment now is a QObject and delegates most of the UI
relevant functions from File
- Files are now "linked" to their segment through a uuid string. this
allows the UI code to establish a relationship between entities in the
listview and the mapview. this is intentionally not pointer based to
avoid clashes, confusion, and to prevent the Files from contributing to
the lifetime of Segments (and thus complicate the entire shebang)
- various settings have been retired as they are no longer applicable:
AA is now always on, there is no practical reason why the user would
disable it in 2022, font size (now following system defaults and
sometimes able to scale down if not enough space)
Related: bug 461193, bug 458181, bug 444057

M  +3    -1    src/CMakeLists.txt
M  +0    -8    src/Config.cpp
M  +0    -3    src/Config.h
A  +105  -0    src/contextMenuContext.cpp     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
A  +50   -0    src/contextMenuContext.h     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
M  +0    -82   src/dialog.ui
A  +36   -0    src/dropperItem.cpp     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
A  +25   -0    src/dropperItem.h     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
A  +87   -0    src/fileModel.cpp     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
A  +42   -0    src/fileModel.h     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
M  +19   -1    src/fileTree.h
M  +3    -0    src/main.cpp
M  +34   -12   src/mainContext.cpp
M  +0    -1    src/mainContext.h
A  +76   -0    src/qml/CenterShape.qml     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
M  +400  -37   src/qml/MapPage.qml
A  +76   -0    src/qml/SegmentShape.qml     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
M  +7    -8    src/qml/main.qml
M  +2    -0    src/qml/qml.qrc
D  +0    -876  src/radialMap/item.cpp
D  +0    -111  src/radialMap/item.h
D  +0    -51   src/radialMap/labels.h
M  +97   -150  src/radialMap/map.cpp
M  +76   -19   src/radialMap/map.h
M  +20   -0    src/radialMap/radialMap.cpp
M  +72   -16   src/radialMap/radialMap.h
M  +1    -27   src/settingsDialog.cpp
M  +0    -3    src/settingsDialog.h