Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Appimage misses an icon. #1568

Open
deragon opened this issue Oct 14, 2024 · 1 comment · May be fixed by #1570
Open

Appimage misses an icon. #1568

deragon opened this issue Oct 14, 2024 · 1 comment · May be fixed by #1570

Comments

@deragon
Copy link

deragon commented Oct 14, 2024

Appimage for Seafile client 9.0.8 Rev 1 does not contain an icon that can be used by Gnome (and probably other desktop environment (DE) such as KDE Plasma). The DE must then use a generic icon as show below.

The screenshot has been made on Gnome 46 running under Wayland in Ubuntu 24.04 LTS.

The screenshot also shows other application missing an icon, thus the reason why three applications are shown with the same icon.

image

@killing
Copy link
Member

killing commented Oct 17, 2024

Please refer to https://docs.appimage.org/user-guide/run-appimages.html#ref-desktop-integration for desktop integration to display AppImage's application icons.

ReillyBrogan added a commit to ReillyBrogan/seafile-client that referenced this issue Oct 30, 2024
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");` in `src/main.cpp` causes it to use the domain to create a fully qualified appId (`com.seafile.seafile-applet`). This does not match the desktop file `seafile.desktop`, which causes open windows to not be correctly associated with the launcher. While it's possible to use `QGuiApplication::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 haiwen#1568 (probably)
ReillyBrogan added a commit to ReillyBrogan/seafile-client that referenced this issue Oct 30, 2024
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");` in `src/main.cpp` causes it to use the domain to create a fully qualified appId (`com.seafile.seafile-applet`). This does not match the desktop file `seafile.desktop`, which causes open windows to not be correctly associated with the launcher. While it's possible to use `QGuiApplication::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 haiwen#1568 (probably)
ReillyBrogan added a commit to ReillyBrogan/seafile-client that referenced this issue Oct 30, 2024
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");` in `src/main.cpp` causes it to use the domain to create a fully qualified appId (`com.seafile.seafile-applet`). This does not match the desktop file `seafile.desktop`, which causes open windows to not be correctly associated with the launcher. While it's possible to use `QGuiApplication::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 haiwen#1568 (probably)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants