You Got A Question? Ask    GNOME Community!

Gnome Shell Extensions are for Gnome..

This post was made with an older stylesheet

To discover extensions page you either have to read something-about in a blog, or install Gnome Tweak Tool that has a reference link. From my personal experience none knows about extensions till I told him/her about.

Even if you discovered Extensions page, is hardly usable with a very poor search and categorization totally missing. There is a “sort by” drop down -which is great- but this also doesn’t seem to work quite well, as it counts ( I think) results from all extensions versions (3.2 /3.4 /3.6). That is meaningless because Gnome version 3.2 from version 3.6 has huge differences, so something was useful in 3.2 isn’t necessarily popular in 3.6.

Today I run into another weird bug that I didn’t know about. I was looking for Xpenguin extension for Gnome 3.6. Extension page shows only extensions that are available for your GS, unless you use the switch:

Compatible with: All versions

I looked for it using the search field of the site. As I didn’t find anything I looked in an old review we had made and I found that link:

Regardless the extension wasn’t compatible with 3.6, it was installed normally and the “On/Off Switch” turned to On. Of course nothing happened and the extension didn’t even installed as it was said in GS Dialog Box. By the way the extensions you install through that page can be found at:


This a serious bug for new users and for pages that cannot give direct links to extensions. Because I didn’t trust the search in extension page I custom searched with Google:


(By the way you will find all Google Search Advanced Operators here)

Gave me an output

Which was cool as I didn’t know you could see the extension files online!

I know that Extensions isn’t the first priority for Gnome, (although IMO is the best part of Gnome3 ), but is a really shame that all the huge work that they have put on them goes kinda wasted because of the  extension poor page.

Upgrading from 3.4 to 3.6

Many people are looking for documentation how to make compatible an extension with a newer GS. Sometimes these are people that haven’t write the original Extension, but they just want to fork an abandoned extension.

Giovanni Campagna (alongside with Jasper St Pierre are the maintainers of Extensions) gave some info in GS ML.

As far as API is concerned:

  • OpenSearch and PlacesDisplay were removed
  • the ViewSelector tab system was replaced with a simpler page API
  • the screensaver is in process and accessed as Main.screenShield
  • the session mode now changes at runtime (and this affect enablement of extensions)
  • some modules were moved into js/ui/components/
  • St.IconType was removed, so you need to add ‘-symbolic’ to icon names
  • notifications, status items and search providers deal with GIcons,not icon names
  • message tray sources can override the right click menu
  • ConsoleKit/Systemd were unified as util.LoginManager
  • input sources are stored in GSettings and affect IBus too
  • the volume status indicator was split in the menu and the actual indicator

“With regards to UI and features, look at the release notes for the complete list. Probably there is something else I don’t remember, so just try running the old extension and see what breaks”.

Of course this is not  a complete guide but it might help (Original Thread). According to Gio a completed Guide will be available sooner or later!

If you have any question about Gnome Shell developing you would have an immediate response in GS Mailing List, just register :)

Writing a GS Extension from Scratch

Apparently getting a new extension working is more straightforward process rather to upgrade one. Carlos Soriano update his guide “Step by step tutorial to create extensions” and hopefully that will be included in the official Gnome Documentation.

Before you read that, check on “Extensions Developing” and “Extensions Creating FAQ“.

Happy Hacking :)

  We can't watch comments unless G+ provides an API or if you send a notification, e.g +World Of Gnome
     Sometimes is better to place your questions on GNOME Community
  • Aventinus the Zethos

    I totally agree with your personal comments. I find gnome extensions extremely useful. With extensions the gnome shell experience becomes personal which is the point of Linux. I really hope Gnome Foundation improves the way shell manages extensions.

  • jsnj

    Thanks for this. Quite useful info. I also agree that extensions are one of the best features of GS and although the ext page has its limitations as you’ve pointed out, it’s still more convenient than trying to to find apps/applets for every task via package managers/PPA’s etc…as is required in Unity and other DE’s. I also really like being able to toggle extensions off/on easily. Extensions are also usually easier to fine tune(via extension.js) than apps/applets or plasmoids in my experience.

  • Carlos Soriano Sánchez

    Thanks for the info about 3.4 and 3.6 differences ;)

  • Pau Iranzo

    In my case, I developed the ‘Traductor Gnome-Shell extension’ and since 3.6 I haven’t been able to update it. Looking Glass doesn’t help at all because the errors tab has disapeared. I have to follow the gnome-shell log file in order to find what’s failing and even doing so, I can’t find out what’s the reason for it. I will need to write the extension from 0 because of the gnome 36 changes. It’s kind of annoying…

    • alex285

      There are many related threads in MLs, so I guess is a major issue. Of course breaking GSE API is normal (isn’t like a normal Gnome App), but porting documentation should have been provided at first place.

      On the bright side, if you have any issue you will get a fast respond in ML ..Ok, This isn’t the optimal solution.. but anyway :)

      Btw I really hope you to port and enchant your Extensions. It has a nice potential!

  • a man who has met a woman

    “..what hair extensions are for women. An *obligatory* accessory.”

    Have you actually met any women?

    • alex285

      Have you actually met any extension?