I can hit update a million times but nothing happens. One of the complaints doing the rounds about GNOME Shell is that it has no panel applets. It’s also entirely the wrong way of looking at things: I hope this post will make it clear why this is, and make some people happier with the road GNOME is going down. There are thousands of them for GNOME 2, to show the weather, stock prices, hardware status, all sorts of other things. No: in GNOME 2, there is a standard interface for panel applets, provided by the libpanelapplet library.Yes, Shell extensions are not backward compatible with panel applets. But that’s the point of a 3.0 release: it gives the developers the freedom to change things for the better and lose backwards compatibility where it’s necessary.This leads to short-term pain – the same was true with 2.0 – but long-term gain.So, to start with, let’s take a step back and ask ourselves what exactly panel applets are, and what we mean by GNOME Shell not having them. Panel applets are processes that paint little widgets into the panel. Do each of these bits of code hook themselves into gnome-panel from scratch? This library provides all the hooks into gnome-panel; you just write your applet following the standards laid down by libpanelapplet.
It’s not compatible with libpanelapplet’s APIs, no.
So you can’t just rebuild your existing panel applet and have it work.
But you can write something as a Shell extension which works exactly like a panel applet.
So all these thousands of little GNOME 2 extensions are written as panel applets, using libpanelapplet, not because that is the only or even necessarily the best way such an extension can possibly be presented, but because that’s what GNOME 2 gave you as a way to extend it: you got to write a panel applet, or nothing. When we say GNOME 3 does not have panel applets, what we mean by this is that it does not have libpanelapplet.
GNOME 3’s ‘panel’ doesn’t interface with libpanelapplet and let you extend its functionality in that way.