What's with the "Wayland" Icons and associated apathy?

wayland_icon

I can understand that when wayland was new and not a default there was some value to creating a special icon for an app that would be shown when the app was indeed running Wayland. However, those days are long long gone. Wayland is now the default app in Fedora for both the KDE and GNOME environments. What value is there to having a bunch of identical wayland icons showing in your system tray?

I’ve been filing bugs on applications which are still displaying the default wayland icon. In most cases, upstream has quickly patched and is now showing the normal application icon. However there have been instances where nothing is still being done.

Not only is this a fit and finish issue, it’s also affecting usability and functionality (i.e. system tray, etc.).

1 Like

People seem to really like Xorg and don’t want to see it disappear? It confuses me since I never really liked X.

1 Like

I think the Wayland devs did everyone a solid by providing a default icon that could be used as an example of consuming the APIs in order to display an icon using Wayland. I also think that it’s more correct that application developers update their code to display an appropriate application icon rather than the default.

Could the Wayland devs add app icons into Wayland itself? Sure, at the cost of less time spent on feature/functionality development and more time making up for what really is an application issue.

This is not all that is needed to represent an icon in Wayland, but it’s a good start for developers not yet familiar with the Wayland API: Appendix A. Wayland Protocol Specification.

The easier way, I think, is to ensure a suitable icon is defined in the application’s .desktop file as most desktop environments and window managers with Wayland compatibility handle those files appropriately. Application developers can also use their GUI toolkit programmatically to do so as is shown in this example for QT: fix: Wayland icon not showing properly. by Teklad · Pull Request #661 · notepadqq/notepadqq · GitHub. A combination of using the .desktop file and the programmatic method may cover more use-cases, but that’s an exercise to the developer.

Keep in mind also, while Wayland has been around a while, only recently has it seen wide-spread use as the default display software in Linux distributions, so developers need time to catch up. As a developer myself, I always appreciate folks raising an issue. If the same issue is raised by multiple different people, I’m more likely to address it sooner as it obviously warrants higher priority to my users, and therefore, to me. I’m sure many upstream application developers feel the same way and would respond in kind.

Here is a post that describes how to fix it.

I’ve already had a few apps use these instructions and they’re now fixed, albeit these apps are qt based.

Here is an excellent workaround for those using KDE Plasma. It also works on GTK apps. Why a workaround is required and each user has to fix each application themselves is anyone’s guess - but the workaround is fairly simple. I found it here:
Fix Generic Wayland Icon

  1. Open the app you are wanting to fix (Vivaldi, Firefox Nightly, HandBrake, etc.)
  2. Add new kwin rule with Alt+F3 → More Actions → Configure Special Application Settings → Add Property → Desktop file name →
  3. Enter the desktop file name without extension (e.g. chromium-browser.desktop, fr.handbrake.ghb.desktop, vivaldi-stable.desktop, etc.)
  • If you are using standard package, check name in “/usr/share/applications/”
  • if you are using flatpak package, check name in “var/lib/flatpak/exports/share/applications/”
1 Like

The HandBrake people replied and for GTK applications, here is what you need to do:

If anyone’s reading this because they’re looking for a solution, you can fix this for a GTK application by calling g_set_prgname() with the name of the application’s .desktop file. Normally this is done automatically by g_application_run(), but if the binary has a different name to the .desktop file, it needs to be manually overridden.

1 Like