Plasma Dialog: Implement outputOnly in terms of WindowTransparentForInput
I am not entirely sure about the history of the custom X code but effectively this Qt window flag is doing just that. This also makes it work on Wayland.
Not tested on X yet
Fixes the OSD not being click-through on Wayland. However it only works the first time the OSD shows, all subsequent times it is opaque for pointer, I don’t see any set_input_region
calls happening on subsequent shows. Is this an oversight in my implementation of it in Qt [1] or a bug elsewhere?
Edit: I forgot to reset mInputRegion
/ mTransparentInputRegion
in QWaylandWindow::reset()
so it’s not re-applied on subsequent show
Qt fix: https://codereview.qt-project.org/c/qt/qtwayland/+/527975
[1] https://code.qt.io/cgit/qt/qtwayland.git/commit/?id=604db6b5499f5de1d700f19c03bc43fe2f59380d