How to learn Gnome Extension Development?

There are not many tutorials around Gnome Extension Development, and the ones which exist are old and outdated. How can I learn GJS (Gnome JavaScript) as a beginner?
Also, if you have ever built a Gnome shell extension then please mention it as I need some mentorship.

Were you looking for this?

I have got that resource but I need some more beginner-friendly tutorials and guidance so that I can move in the right direction. There is a lack of latest beginner-friendly resources about GNOME Extensions development.

I don’t know your skill with javascript. If it’s below average, I’d suggest a javascript tutorial first.

1 Like

This is indeed true, Prakhar… lack of clear documentation for this…

What I suggest is you check the popular gnome extensions and see if the contact of the developer is listed there and then you can approach the dev and see their help.

If it works and you manage to develop something cool, do share the development process with the rest of the world :slight_smile:

1 Like

I know enough JS to do that, the only problem is the lack of good beginner-friendly latest docs./tutorials

Wow, I didn’t expect a reply from you! Nice to talk to you for the first time (kinda fan moment lol).
Anyways, surprisingly, I did the same and now I am in contact with a GNOME extension developer, and hopefully, he can help me with some problems.
But I still need to read the already existing docs and try to understand the stuff myself first because they don’t have much time to help in starting out.

And about sharing what I build, so I am planning to build my project in public and it’ll be Open Source! As I am already passionate about open source and want to do a lot of things in that area, so this is just a part of it.
Here’s a tweet from me that I did to find people who have done this thing in past (found the dev from here only):

In summary, the project is basically a Linux(or specifically GNOME) implementation of Shimeji-ee Desktop pets, these are characters that simply live on your desktop and do random things like walking, sleeping, climbing the edges, throwing windows, etc. Their Official Website for more info: - Shimeji-ee Desktop Pet

Do tell me if you like this idea :slight_smile:

Thanks for your time! <3

1 Like

I usually interact with all the comments on the website, YT channel and the forum. What’s a community if I do not interact with fellow members? :slight_smile:

Glad to know that you are already on the right track. You may also reach out GNOME members. I can see their Discourse channel mentioned on

I retweeted it from It’s FOSS account. Let’s hope it gets you more help.

Hmm… I remember using something like that in the distant past… perhaps in Windows XP days. It was a cat perhaps, licking itself, meowing when clicked… it was fun to have that around

So, yes… go ahead and create this one… I’ll be more than happy to share it with the readers when it is ready

Good luck :+1:

1 Like

This is so good of you! Thanks for all your efforts for the community :heart:

Thanks for letting me know about this one, I have also joined a Gnome Extensions Matrix room for help. :smile:

Thanks again!

Yeah that software is pretty old and is only available for Windows Users. Nothing like that exists for Linux users, and I wanted that on my computer too. So as a web developer and open source enthusiast, I decided to learn Gnome Extension Development (as it needs knowledge of JS) and build the project in public.
I am so grateful for your support and kindness, thank you so much :blush:

Btw, I wanted to know if you could make any content around Gnome Extension Development? I searched for something from you but only got this: How to Use GNOME Shell Extensions [Complete Guide]
Maybe you can find somebody in your network who agrees to make tutorials, or you may do it yourself if you are interested to learn that.
Just a suggestion :smile:

Thanks for your time!

1 Like

That’s out of my current skill set and since I have too many things on my plate already, it’s less likely to.

Will see if anyone in the team is willing to learn and share.