Fix wayland window associations by renaming .desktop file #1570
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
For Wayland window managers to correctly associate open windows with the corresponding .desktop file the name of the
.desktop
file sans.desktop
suffix needs to match the window appId.By default Qt sets the appId to the name of the binary, but
QCoreApplication::setOrganizationDomain("seafile.com");
insrc/main.cpp
causes it to use the domain to create a fully qualified appId (com.seafile.seafile-applet
). This does not match the desktop fileseafile.desktop
, which causes open windows to not be correctly associated with the launcher. While it's possible to useQGuiApplication::setDesktopFileName()
to override the appId it's more consistent with FreeDesktop specs to use the fully qualified appId instead.To see the difference this makes it is sufficient to start seafile-applet in a Plasma Wayland session (which has easily accessible window property introspection tools) with and without
com.seafile.seafile-applet.desktop
being the name of the.desktop
file. Without the window will show the generic Wayland icon in the overview, with it will show the seafile icon shipped in the package.Resolves #1568 (probably)