kolektiva.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
Kolektiva is an anti-colonial anarchist collective that offers federated social media to anarchist collectives and individuals in the fediverse. For the social movements and liberation!

Administered by:

Server stats:

3.6K
active users

novatorine 🏴🏳️‍⚧️

The documentation for writing any kind of is just atrocious. Like I get that you're basically reaching deep into the internals of the GNOME Shell to write them and so there isn't a totally stable API to even document, but there are plenty of components that actually are pretty stable (and are even admitted to be so by what docs that exist) and that are basically necessary to write an extension at all, and yet there's no documentation for them. I'm having to look deep into the Shell's JavaScript and even C code to even figure out what properties and methods these classes have and what things I can even talk to. Like I literally had to clone the entirety of the GNOME shell and their window manager / compositor Mutter and start poking around with ripgrep and VIM to even find out how to do basic things. The best excuse for documentation they have is a random blog post by someone named mathematical coffee from over a decade ago, and even that is just a sketchy outline of what tends to be in each source file.

Like how if things really do change enough that you feel like you can't document anything because it would just change, then just fucking run a documentation generator on your C and JavaScript code to at least pull out the classes and methods and properties that are available! That's like the bare minimum of effort and that would already be a huge step up. Throw in a few comments on the classes or methods to document what they do — and from what I've seen to a large extent they already have this — and you're golden!

It just seems really irresponsible to me to not document anything but the basic process of creating an extension project and basic skeleton and just leave it up to each new person who comes along to write an extension to completely reinvent the wheel as far as documentation and knowledge goes. Especially since the GNOME project seems to have a very substantial amount of manpower and time and funding. Even more especially since the usability of GNOME for a lot of people actually relies on those extensions and there's a huge and flourishing ecosystem of such extensions which often come installed by default on many distros.