What is a GNOME Shell extension?
GNOME Shell extensions are add-ons that extend GNOME Shell. These extensions modify GNOME Shell either by adding functionality (i.e. Caffeine or TwitchLive_Panel), or modifying core functionality (e.g. CoverFlow). These extensions are typically provided and maintained by third-party developers. However, they sometimes find their way to GNOME.
Where to find extensions
There are two ways you can get a GNOME Shell extension. The first way is via their website: https://extensions.gnome.org. Because the Extensions website uses special plugin functionality, you must access it using the Mozilla Firefox web browser. Once you access the site you’ll see a prompt to allow the GNOME Shell Integration. Once allowed, you are prompted to either Allow Now or Allow and Remember your decision.
The second option for getting a GNOME Shell extension is with DNF. You can search for extensions by opening the terminal and running the following command
dnf search gnome-shell-extension
The list of GNOME Shell extensions you can choose from will be smaller compared to the GNOME Extensions website. You can get a few more by using this command, since not all of the packages are named with “gnome-shell-extension”:
dnf search gnome | grep extension
To install via the command line, run this command:
dnf install <package-name>
How to install extensions
Now let’s get some GNOME Shell extensions installed via the GNOME website. In this example, we’ll install the Applications Menu and Dash to Dock extensions. Once I access the website I will be prompted by Firefox to allow the GNOME Shell Integration mentioned earlier. I’m going to allow this.
I will then be prompted to Allow Now or Allow and Remember. You may choose either, although Always is more convenient since you won’t be prompted every time you visit the site.
Luckily the first extension is on the front page. Select the Applications Menu extension.
On the details page of the extension, you can see the description, comments and the ability to install the extension. You can toggle the On/Off switch by clicking it, to install (On) or disable (Off) the extension.
Now go back to the front page. This time, search for Dash to Dock.
Select the Dash to Dock extension. Once on the Dash to Dock page, toggle the On switch to install the extension. When you toggle the switch you are prompted with an install message. This is because the extension isn’t already on your machine. The previous extension is already included with your Fedora Workstation installation (as of Fedora 24). At this point, you can just click Install.
How do I configure a GNOME Shell extension?
Now that there are some extensions installed, let’s configure an extension. You need the GNOME Tweak Tool utility for this. You can get GNOME Tweak Tool by entering the following command into the terminal:
sudo dnf install gnome-tweak-tool
Or you can install it via the Software Center. When you open the Software Center you can search for tweak. GNOME Tweak Tool should be the first search result. Click the Install button to install the package.
Once it’s installed, open it and click on the Extensions section on the left side of the window. The website allows you to turn on, install and disable extensions. This is also where you can remove extensions by clicking the Remove button for that extension.
You can also configure an extension by clicking on its gear button. For instance, click on the gear for Dash to Dock and notice you can adjust whether it autohides, extend the panel, or adjust the icon size.
Now you can enjoy the benefits of the extensible GNOME Shell, with a variety of add-ons of your choice.
Richard
Very well illustrative for those newbies into the gnome world but I honestly think that this extensions should be something to be included in every linux distribution that ships gnome, managing them is a hassle, I heard gnome software will handle them so I hope we don’t need to go back to that old website which hasn’t change its beta status in years…
Bob
Quite agree with Richard. And by the way, is there anyone on earth using gnome-shell without the tweak tool? Shouldn’t this be part of gnome instead of having to install it as any other program?
Juergen
Well, I couldn’t survive Gnome without the tweak tool, some extensions and gsettings or it’s graphical frontend dconf. It’s nice to keep things simple, but if you oversimplify, things get a bit too complicated to adapt to your needs.
Onyeibo Oku
Yeah, there is. I’m one of them. I think one grows out of these extensions with time, especially if you know how to run gsettings and tweak css yourself. … But frankly, after sometime (without the extensions) one begins to wonder why we need them in the first place. The bare basics are actually sufficient for most work environments and extensions have the habit of messing with the DE with certain updates.
Norbert
gnome upgrades are horrible, and most of the extensions you can not arrange in the settings …
Juergen
@Norbert: What do you mean? Upgrades/Updates via Gnome Software or Upgrades of the gnome shell?
But back to the topic of the (well written) article: I’m really thankful for the possibilities which Gnome extensions offer.
Pierre Timmermans
Very good article. It is indeed difficult to understand why the dash-to-dock is not part of Gnome, and also the tweak tool. Something else annoying is that some extensions stopped working after upgrading to fedora 24 because they are not compatible with this version of gnome (open-weather for ex.)
I think Gnome has a potential but the first user experience is awful, that kind of article is absolutely needed.
Leslie Satenstein
The gnome extensions page is essential for configuring Gnome into something personnaly useful.
You demonstrated the installation of an extension via the website and via the command line. Its too bad that Gnome, via their software tool, does not integrate the above mentioned two options.
And by the way, the very best of the best extensions are from the website.
Here are my favourite three.
1) =======
TaskBar by zpydr
TaskBar displays icons of running applications on the top panel or alternatively on a new bottom panel. Activate, minimize or close tasks with a simple click.
2) =======
Removable Drive Menu by fmuellner
A status menu for accessing and unmounting removable devices.
3)=======
OpenWeather by jens
Weather extension to display weather information from https://openweathermap.org/ or https://forecast.io for almost all locations in the world.
The first extension is indespensible.
Leslie Satenstein
I very much prefer to see and read about the extensions via the extensions webpages.
For one, it is more personal.
We see the author name, the feedback from other users, and a good idea about the usefulness of said extension.
As some extensions are occasionally updated, one can’t know which of the 20 webpage extensions/listings had recent updates.
One new feature request for the extension website would be a request for a listing of extensions in date (most recent first) listing.
Ray
I would just like to add that you can access the extension preferences by running ‘gnome-shell-extension-prefs’ from the terminal or the run dialog (Alt+F2)
Raul
Great article for newbies.
I am using it a long long time and always asking me why GNOME cannot integrate the tweak-tool and a few basic extensions the hole distro would benefit from in their default GNOME installation, such as Dash-to-Dock, Openweather and Sound Input & Output Device Chooser. There are a lot more, but at least a few extensions which enhance the gnome experiece should be integrated by default (since years).
Leslie Satenstein
With the four Fedora Remixes that I am aware of, have included the Tweak tool in their offering.
The tweaktool is indespensible if we are a Gnome user.
An extension that is indispensible is Taskbar by Zpydr (Its around page 20 in the list of extensions). This one extension makes Gnome most usable for all.
Dan
Yet here I am telling you I see no need for that extension. Different strokes, ….
I’d be more interested in hearing how to change the mouse events of the shell. I want a middle click on my favourites to keep the activities view open, so I can start multiple programs without the need to press CTRL.
Joe
@Ray: I didn’t know about gnome-shell-extension-prefs. Wonderful, once again a valuable resource I’m carrying around without knowing of.
On my netbook Scalling Factor, found beneath Fonts on Tweak Tool is an essential adjustment.
Little ponyx
Gnome extension website should be improved to help user easily find good extension and to respect extension developers. Adding download count, trending, top download this week etc would be great
Jean-Marc
You can also browse some COPR repositories, like mine for gnome-shell-extension-dash-to-dock :
https://copr.fedorainfracloud.org/coprs/jmliger/gnome-extensions/