These are dbus APIs though, not wayland protocol specifications that you can call with libwayland's RPC mechanism.
On the one hand this means you can support both X11 and Wayland with a single API from a client perspective, on the other you have to use DBus, which is horrendous to use (especially from statically typed languages).
It also doesn't seem to work on my XFCE/X11 desktop, which shows what fragmentation we have now.
> DBus, which is horrendous [from] statically typed languages
Could you explain this? In my experience DBus provides you with a schema, the exposed DBus interface describes the callable methods, their arguments and types, readable properties, and signals.
Just like with SQL it's useful to create a layer that takes advantage of the statically typed powers of the language.
Usually there are tools that use introspection (or the XML introspection data) to generate "types" (ie. this layer).
Not all statically typed languages. Using it in QT is great, and using it in GTK in C is not more difficult than showing a window. I also recently came across zbus in rust (https://docs.rs/zbus/1.8.0/zbus/) and it looks like it’s similar dynamically typed languages. I’ve also heard good things about the Systemd implementation. In all of these situations, it’s far easier to use DBus than another Wayland protocol.
https://docs.flatpak.org/en/latest/portal-api-reference.html...
There are still apps using legacy gnome/kde specific APIs, but, from what I understand, in the future Flatpak APIs are becoming the defacto standard