I work on both the Mir Wayland compositor library and Flutter, and I've been wanting to fill a gap that I saw in the current Flutter ecosystem for a while now: desktop shell components on Linux. Now that Flutter is gaining multi-window capabilities on the desktop platforms (which I have been contributing to extensively), we can finally build our Wayland shells in Flutter . Come find me at FlutterCon USA in Orlando this year if you want to hear more about the new windowing API in Flutter.
I hope you have a fun time building shells with Flutter!
The idea is that you'll be able to program window management, animation, configuration and more from WebAssembly plugins that are built with Rust. I've been wanting something like this for a while now in Wayland, especially something that skirts around the need for a heavy scripting language. I'm hoping to have a stable release of it by mid year.
Yup! A nice language-agnostic API + a lightweight runtime was my goal. Although I concede the point about debuggability and whatnot. I'm hoping to figure that out later down the road, but it is a tricky part.
I've been working on a new Wayland compositor called Miracle for about two years now. I recently built a plugin system for window management based off of WebAssembly. Check out my blog post for more information, but I think it is a solid and novel approach to separating window management from the compositor in Wayland. Let me know what you think!
I hope you have a fun time building shells with Flutter!