Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.
Our infrastructure migration is complete. Please remember to update your SSH remote to point to ssh.gitlab.freedesktop.org; SSH to the old hostname will time out. You should not see any problems apart from that. Please let us know if you do have any other issues.
Hi everyone!
Here is yet another controversial protocol, but I think it is a lot easier to discuss pros and cons if there is a concrete proposal to discuss. This MR is intended to fix feature-request #52 (closed): Adding icons to toplevel windows explicitly, rather than relying on them being pulled from desktop-entry files via the appId reference.
Honestly, for the longest time I didn't think we needed this protocol, because I quite like the current Wayland design: Icons should come from the environment, which ensures a consistent experience with no surprises. For specialty apps, I assumed they could just create a hidden desktop-entry file and pull the icon from there, and everyone would be happy, no need to drag support for this into Wayland. Especially since the XDG icon theme spec already has robust support for multiple icon sizes, scaling etc, and re-implementing that seemed like a bad idea.
However, I do think we still need this protocol to satisfy a bunch of special applications and edge cases:
I do not expect this protocol to be generally useful for all types of compositors, and it is also "just" a visual inconvenience and not a major functional issue for some apps, like the multi-window-placement issue is. Therefore, I preemptively put this into the ext-*
namespace.
NOTE After some discussion, the initial protocol has been greatly simplified, and since especially the "primary window" requirement and icon change mitigation was removed (in discussions this mostly caused confusion and nobody could find a usecase where it was relevant). So the current protocol is rather straight forward:
update_icon
with a stock icon name from an XDG icon-theme location on the toplevel it wants to set the icon on (the icon-name is mandatory, but may be null)toplevel_icon
events to the client, requesting wl_surface
s with pixel icon data in various sizes required by the compositor and/or other desktop components that want an iconset_icon
requests and the requested datawl_surface.commit
is called on the toplevel, signalling the changes should be applied.This time, I did not preemptively reach out to other DEs, so this MR is intended to gauge the interest in having such a feature, as well as for figuring out how, if it happens, a Wayland implementation would look like. I think it's a minor issue in Wayland, all things considered, but it is often the minor things that make or break the experience for some users, in this case especially for ones with lots of Python venvs, Zenity users, LibreCAD users or AppImage users.
Cheers, Matthias