Or at the very least, an easier way to extend the desktop with extensions.
What made gnome extensions so successful (despite gnome breaking them every new release) is it's just JavaScript & CSS. You can learn & make a gnome shell extension in an afternoon. No need to learn C, GObject, etc.
For COSMIC, even the panel applets are full rust programs
Unfortunately Gnome extensions suffer from breaking frequently due to how they work.
The best design for extensions specifically is with a capable, well-defined, stable public API that can be hooked into by a scripting language. The extension APIs should be exposed with both official bindings for popular languages as well as plain C headers, so other language bindings can be easily written and extension authors can use Python or Lua or Ruby or whatever it is they like to write.
What made gnome extensions so successful (despite gnome breaking them every new release) is it's just JavaScript & CSS. You can learn & make a gnome shell extension in an afternoon. No need to learn C, GObject, etc.
For COSMIC, even the panel applets are full rust programs