I'm trying to dive into Gnome shell extensions development but I'm a little bit confused at the moment. I can't seem to find a proper documentation about GJS library. For example I want to know at least what imports are available and members/method of classes without that I can only rely on existing extensions code, not too much.
Can anyone lead me in the right direction?
Thanks in advance.
I'm trying to dive into Gnome shell extensions development but I'm a little bit confused at the moment. I can't seem to find a proper documentation about GJS library. For example I want to know at least what imports are available and members/method of classes without that I can only rely on existing extensions code, not too much.
Can anyone lead me in the right direction?
Thanks in advance.
Share Improve this question edited Jan 19, 2018 at 20:58 Mogsdad 45.7k21 gold badges162 silver badges285 bronze badges asked Nov 10, 2011 at 11:24 mattmilsmattmils 1231 silver badge4 bronze badges2 Answers
Reset to default 15To start writing GNOME Shell Extensions, I would remend you to start looking the Shell Extensions wiki page. There you will find links to tutorials, as well as guidelines.
With respect to modules available, you have everything that is available via GObject Instrospection. In order to get familiar with this, you can take a look the explained demos. For API docuementation, you can go to Platform Overview.
Not an expert myself, but based on my experience patching an extension, most of the utility are based on Clutter in which GObject Introspection expose the API to JavaScript. Unfortunately I cannot find the API documentation for the shell itself. The closest I can get is the JavaScript for the shell at /usr/share/gnome-shell/js/
which (for me) is quite enough as an extension would probably modify JavaScript object at runtime rather than calling it's function.