Blog Archives

Gnome-Shell Extensions Manager


I am really a fan of Gnome Desktop , have been using it for years now . Last year the Gnome-Shell was introduced and i love it very much , i think that the developers of the project did a great job . I have tried to use Unity as part of Ubuntu distribution but it doesn’t feel as natural to me as Gnome-Shell does it . I know that there are many opinions on this subject , but it’s not what i want to talk about . I want to talk about Shell Extensions .

Since introduction of Gnome-Shell there are hundreds of extensions have been available at the new extensions page . There are many great extensions coming up lately . But , sadly there is no nice GUI tool for extension management , lets say i want to disable or enable an extension : the first way is to install gnome-tweak-tool and use it every time you want to change extension state , or you could open up a terminal and manage extensions with “dconf-editor” . That’s just doesn’t seems right to me .

So i thought to write some simple Python GTK script to deal with my problem , but instead i found myself writing an extension that does that for me in simple way . When i began to read about Gnome-Shell Extension System i found that extensions are written in JavaScript with Gnome Bindings ( Gjs ) . That was very tempting , because i never really got a chance to write JS .First i wanted to make an extension App written in Gjs so i wrote an extension manager class but then i decided to make simple extension to make it easier to use . From here it was a matter of days and a lot of Source reading from Gnome-Shell Git repository . Sadly for the moment there are no proper documentation available regrading Extension Development . If you want to start developing new extension i suggest to check this blog first , the guy has a lot of really usefull information to use as a starting point .

There is a screen-shot of the first version :


As you can see it is really simple and easy to use . I have uploaded it to gnome extensions site , so if anyone is interested here it is . After uploading it , i got some user feedback emails and i think i should add some features to it, because now it looks really basic and does only what it intended to do for me ( only user extensions are visible , and i should add a scroll for maniacs with 30 extensions 🙂 ) . I hope that i can make some free time to continue the work on it , but the source is there .. so anyone is welcome to contribute , thats the beauty of linux.

I really hope that the Gnome team will work on some Documentation soon , it will make work much easier for people to make contributions in future .