Bug 436826 - kdiff3 has no window, wayland, gnome
Summary: kdiff3 has no window, wayland, gnome
Status: RESOLVED DOWNSTREAM
Alias: None
Product: kdiff3
Classification: Applications
Component: application (show other bugs)
Version: 1.9.2
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: michael
URL:
Keywords: wayland
Depends on:
Blocks:
 
Reported: 2021-05-09 15:49 UTC by soloturn
Modified: 2022-01-14 19:11 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Screenshot (157.13 KB, image/png)
2021-05-23 20:00 UTC, Nicolas Fella
Details
Screenshot without QGnomePlatform (119.82 KB, image/png)
2021-05-23 20:13 UTC, Nicolas Fella
Details

Note You need to log in before you can comment on or make changes to this bug.
Description soloturn 2021-05-09 15:49:45 UTC
SUMMARY
kdiff3 has no window or window border on gnome4, wayland, arch linux. so no close button, no resize. it looks like it is in fullscreen mode. pressing f11 to toggle between full screen and not lets kdiff3 appear and disappear, instead of making it full screen and within a window.

> paru -Q | grep qt
avidemux-qt 2.7.8-2
libdbusmenu-qt5 0.9.3+16.04.20160218-5
polkit-qt5 0.113.0-2
poppler-qt5 21.05.0-1
qt5-base 5.15.2+kde+r192-1
qt5-declarative 5.15.2+kde+r24-1
qt5-graphicaleffects 5.15.2-1
qt5-location 5.15.2-3
qt5-multimedia 5.15.2-1
qt5-quickcontrols 5.15.2-1
qt5-quickcontrols2 5.15.2-1
qt5-sensors 5.15.2-1
qt5-speech 5.15.2-1
qt5-svg 5.15.2+kde+r7-1
qt5-wayland 5.15.2+kde+r19-1
qt5-webchannel 5.15.2-1
qt5-webkit 5.212.0alpha4-10
qt5-x11extras 5.15.2-1
qt5ct 1.2-1
Comment 1 soloturn 2021-05-23 08:27:14 UTC
this is valid for kdiff3-1.9.2 as well
Comment 2 michael 2021-05-23 19:36:26 UTC
Based on gnome response to this issue I am declaring gnome+wayland an unsupported configuration.
Comment 3 Nicolas Fella 2021-05-23 20:00:45 UTC
Created attachment 138713 [details]
Screenshot

FWIW this is what kdiff3 looks like on Fedora 33 Gnome Wayland. There is a title bar, close button and the window is resizable, so the lack of xdg-decoration support is not necessarily a problem
Comment 4 michael 2021-05-23 20:09:42 UTC
Still I have no good-way to control that behavior. How is Fedora doing it?
Comment 5 Neal Gompa 2021-05-23 20:11:08 UTC
That's because Fedora Workstation uses QGnomePlatform, which configures Qt to draw the correct window decoration on GNOME. Most distributions do not have QGnomePlatform with GNOME by default.
Comment 6 Neal Gompa 2021-05-23 20:11:42 UTC
Cf. https://github.com/FedoraQt/QGnomePlatform
Comment 7 Nicolas Fella 2021-05-23 20:13:39 UTC
Created attachment 138715 [details]
Screenshot without QGnomePlatform

Even without QGnomePlatform there still is a proper window decoration
Comment 8 Neal Gompa 2021-05-23 20:14:22 UTC
Yes, that's Qt's built-in fallback decoration. However, that implementation is somewhat buggy, as far as I know.
Comment 9 michael 2021-05-23 20:17:00 UTC
Sounds like a distro issue in that case. Anyway to detect QGnomePlatform from CMake?
Comment 10 Neal Gompa 2021-05-23 20:21:19 UTC
You could look for the existence of "/usr/lib64/qt5/plugins/wayland-decoration-client/libqgnomeplatformdecoration.so"
Comment 11 David Edmundson 2021-05-23 20:26:43 UTC
@soluturn, please include the output of "env".
Comment 12 David Edmundson 2021-05-23 20:27:21 UTC
>Anyway to detect QGnomePlatform from CMake?

We don't want or need to do that.
Comment 13 Nicolas Fella 2021-05-23 20:27:41 UTC
In case that wasn't clear, QGnomePlatform is not the problem, if anything it's the solution.

Qt has support for client side decoration built in, via a plugin mechanism. QGnomePlatform provides such a plugin
Comment 14 Nicolas Fella 2021-05-23 20:34:37 UTC
Qt loads the decoration plugins from /usr/lib/qt/plugins/wayland-decoration-client

qt5-wayland provides libbradient.so which creates the decoration from my second screenshot
Comment 15 Neal Gompa 2021-05-23 20:38:14 UTC
Eventually, someone will probably want to make a libdecor[1] plugin for QtWayland. But unfortunately, libdecor hasn't had a release yet.

[1]: https://gitlab.gnome.org/jadahl/libdecoration
Comment 16 Bug Janitor Service 2021-06-07 04:33:32 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 17 Bug Janitor Service 2021-06-22 04:33:55 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!
Comment 18 soloturn 2022-01-12 06:23:04 UTC
arch linux provides libbradient with qt6:
https://archlinux.org/packages/extra/x86_64/qt6-wayland/files/

usr/lib/qt6/plugins/wayland-decoration-client/libbradient.so
Comment 19 soloturn 2022-01-12 06:27:57 UTC
arch linux provides libbradient also with qt5-wayland, i see. i did not understand what is necessary to activate it? you mean to use qgnomeplatform @nicolas fella?

https://archlinux.org/packages/extra/x86_64/qt5-wayland/
Comment 20 michael 2022-01-14 18:33:02 UTC
If your looking for help setting up QGnomePlatform or anyother compositor please contact your distro. KDE and kdif3 mantainers can not do anything else to address this issue. Please don't reopen it again.
Comment 21 michael 2022-01-14 19:11:00 UTC
The official recommendation at this time is to install QGnomePlatform as it is known to work. qgnomeplatform looks like the right package name.