So far in this series I have looked at the Xfce and KDE desktops, which were conceptually similar in many ways. Now it is time for Gnome 3, but before diving into that, I would like to make clear, again, that the point of this series is 'how to customise your Linux desktop'.
It is not an introduction to the various desktops, or a how-to-use tutorial. I will focus on configuration and customization, therefore I will not necessarily be walking through every function available.
This means that in some cases where there are a number of different functions consolidated in one tool or in one place, I am likely to just hit a couple of the high points and then say, "there is lots of other interesting stuff here".
I will be using Gnome 3.18 on Fedora 23 for the examples. This post is going to be divided into two parts. The first part will discuss only the very few and relatively simple desktop configuration options available in the basic Gnome 3.18 installation, without going into cryptic CLI commands. The second part will cover the Gnome Tweak Tool and the Gnome Shell Extensions web page, which offer more extensive and often easier customization, and which offer GUI access to many of those cryptic CLI commands.
One other thing, just to be clear and correct, Gnome 3 is a large and complex package which includes a lot of different pieces - the desktop itself, the icons, widgets and controls which it is made up of, the window manager which actually controls it, the libraries which support it, the utilities and applications which provide basic functionality for it, and much more.
The Graphical User Interface (GUI) which the user interacts with is actually called the Gnome Shell, and this is the part which I will be configuring and customizing in this post. If I carelessly use the term Gnome 3 in a place where I should say Gnome Shell, please forgive me.
I think that before starting to configure and customize, it is important to have a quick look at the default starting point. This also provides a reference to look back at and compare to after customization has been made. The basic Gnome 3 (Fedora 23) desktop looks like this:
That doesn't look all so much different from Xfce and KDE, other than the fact that the panel is at the top of the screen rather than the bottom. The panel has what looks like a menu or launcher at the left end, a clock in the center and some status and control icons at the right end.
The next step is to go to the Activities overview. There are two ways to do this, either click Activities at the left end of the top panel, or just whack the mouse cursor firmly into the upper left corner. Well, that second method usually works, at least. Unless Gnome has gotten its knickers in a twist and doesn't respond to a whacking. In which case my usual response is to whack it two or three more times, even harder, which never helps... then I give up and click Activities anyway.
Whoops, that's not the simple drop-down menu you might have been expecting. At the left side of the screen is the Gnome Shell Dash, which is essentially a Favorites bar with a bit of Task Manager functionality. The right side of the screen is slide-out virtual Desktop list/selector. Near the top of the screen is a Search input area. If you had any open/active windows, they would be displayed in a Window Picker in the large open space in the middle of the screen.
If you click on the square grid icon at the bottom of the Dash, you will see the other use of the open area in the center of the screen:
This is the Gnome Shell Application Picker. It at least looks somewhat familiar, sort of similar to the KDE Plasma 5 Application Dashboard that we saw in the previous post.
Ok, let's get busy with customizing the desktop, starting with the first thing we did to Xfce and KDE, changing the desktop wallpaper. Right-click the desktop background, and you will get the menu window shown here. This is a convenience menu; all of the options shown here can be reached by going to the Gnome Settings utility. Click on Change Background to continue.
This is the Backgrounds window - and we already have our first small surprise. Here we get the opportunity to set the desktop background and the Lock Screen background separately. Clicking either one of those two brings up a window which presents the stock wallpapers available and gives you the alternative of using one of your own pictures, or simply having a solid color background.
There's one bit of bad news here, I haven't been able to find any way to have different wallpaper on multiple displays, even in the Tweaks and extensions described below.
That's it for configuring desktop wallpaper. The next interesting thing to do is to modify the Dash (Favorites List) in the Activities overview.
The default Dash contains a selection of a few common applications, but it's very unlikely that one size fits all in this case. You are likely to want to delete some things here, and add some other things. I never use evolution, for example, so I want to remove it. Right-click on the icon and you will get a menu that includes Remove from Favorites, click that and it is gone.
If you want to add something to the list, you have to find it in the Application Picker - either click on the grid at the bottom of the Dash, or simply type some part of its name in the Search bar.
When you find what you are looking for (GIMP, for example), right-click on the icon to get this menu, and then select Add to Favorites (duh). It will be added at the bottom of the Dash. You can drag-and-drop the icons on the Dash to rearrange them - except for the grid icon, it has to stay at the bottom.
While I'm here fiddling with the Dash, there is a small point I would like to make about how it works, and using it in everyday work. The first time you click an icon on the Dash, it will start the associated program. If at some time later you click the same icon again, it does not start a second copy (or second window) of the same program, it just returns focus to the one that is already running. If what you really want is a new independent window of the same application, you have to right-click on the icon and choose New Window, or you can simply click-drag-and-drop the icon to the desktop. I find the latter a bit easier.
Believe it or not, that is all the customization that I know about for basic out-of-the-box Gnome 3 which doesn't require some kind of CLI commands or editing of configuration files. That's not a lot, I know - and I'm pretty sure that someone will post a comment pointing out various things that I have overlooked - but that's it for me. So I am going to move on to discuss some other approaches to more advanced configuration and customization.
One option to get some of the most common and most popular customization is to install the Gnome Tweak Tool. Go to Activities, select Software, and enter tweak in the search. Select Tweak Tool and then click Install. The whole process should take about a minute. (If you are a CLI denizen, you can accomplish the same thing with "dnf install gnome-tweak-tool".)
Now go back to Activities again, and this time type tweak in the search box, and then click on the icon. Finally, you will get a window like this.
Now things are starting to look interesting, there is a lot of stuff there that I want to try! But now I have a question... why is this tweak tool not included in the base distribution? It's not like it is a huge package or anything. I was surprised that there wasn't something like this in the first (or second) release of Gnome 3; the fact that it still isn't included in 3.18 is completely baffling.
Let's investigate the tweaks a bit. That first page (Appearance) looks pretty boring, just a lot of stuff about themes and backgrounds. If that's your thing, then go ahead and knock yourself out, but no thanks for me.
The Desktop page has something interesting - Icons on Desktop. This is something most people have been used to for a long time, being able to put icons, launchers, shortcuts or whatever on the desktop to access commonly used applications. Not being able to do this in the default Gnome 3 desktop caused a lot of controversy. A lot of controversy. Here you can set Icons on Desktop to On, and solve that problem.When you do this you will see that Home and Trash icons appear immediately; if you don't want them, you can un-check them here.
Another bit of good news with this tweak, you will now get a desktop icon whenever a removable volume or drive is mounted. A lot of people, including me, think this is a very good idea.
The Extensions page is where things really get interesting. That second item, for exampe, Applications Menu. Turn that ON, and then look at the left end of the top panel. It has changed from Activities to Applications, and there is a little down-triangle next to it. Now click on Applications and... Zowie! Woohoo! Hot stuff!
A real, true, category-oriented drop-down application menu! Oh, and it has a copy of the Dash contents for its Favorites, that's a nice touch.
Well, in fact because the Applications Menu Favorites is a copy of Dash, the only way to add Favorites in the Applications Menu is to add them to the Dash - you can't right-click on anything in these menus to add them. That can be a bit confusing at first - or at least it was for me.
There's no search function in the Applications Menu, so you have to poke around and find what you want, but that's not so bad. All things considered, if you were desperate for a desktop menu rather than having to go through Activities to get to the Dash, this is a major win.
What else is on this Extensions page...
Alternatetab: One way to avoid having to go back to the Activities Overview for window management is to use the trusty old Alt-Tab keyboard shortcut. Gnome Shell displays a simple icon of each window by default; when this extension is enabled it displays a reduced view of the actual window and the icon, as shown here.
Launch New Instance: This solves the problem I described above, you get a new window every time you click something on the Dash.
Places List: Adds an item to the top panel which drops-down a list of common Places. I'm guessing this one is for people who still miss Gnome 2...
Window List: This adds a simple task bar across the bottom of the screen containing a list of open windows. If you are tired of slamming the mouse cursor into the corner to get to the Application Picker, or using Alt-Tab to select windows, this gives you a familiar alternative.
Ok, let's dive into some more controversy. When Gnome 3 was created, the developers decided that window title bar buttons for Minimize and Maximize were not necessary. You can see in the screen shots of the Tweak Tool, there is only one button on the window title bar, to Close the window.
The idea was that Maximize/UnMaximize can be done by double-clicking on the window title bar, so that button isn't necessary, and Minimize was... well, I don't know what the theory was behind that one. Anyway, you have to right-click on the window title bar to Minimize now. In my opinion this is the second-worst idea ever in this area (the runaway prize winner for worst idea here was Ubuntu moving the window buttons to the left end of the title bar, to make room for "windicators", which have never arrived, but the buttons are still sitting forlornly on the wrong end of the title bar.. oh, but I forgot, Ubuntu is always right and the rest of the world is always wrong, even when the reason they did something never materializes. Sorry, end of rant).
Anyway, the Windows page lets you undo this title bar madness. Near the bottom on the right side of this page, there are two controls to turn each of these title bar buttons on or off. Yay.
There are lots of other window tweaks here, and loads of interesting stuff in the other pages of the Gnome Tweak Tool, so check them out. If I tried to even mention all of them here this post would end up being way too long, again, so I will move on.
Another excellent source for customizing the Gnome 3 Shell is the Gnome Shell Extensions web site. When you first arrive on this web page, you might see a notice that it can't detect Gnome running on your computer, and a query from your browser asking if you want to allow "Gnome Shell Integration" to run. You need to accept this in order for some of the automated package installation to work, so just say yes unless you want to download, install and configure the extensions manually.
The first extension I am interested in is Dash to Dock, which does exactly what the name implies, it takes the Dash bar which was only visible on the Activities screen, and adds it to the normal Gnome desktop. This makes it essentially a "Favorites" bar that you can access without having to switch to Activities mode.
To get to the configuration options of the Dock, right-click on the grid icon a the bottom. The Settings window comes up, and you can place the bar on any screen edge, you can enable/disable the Intelligent Auto-hide mode, and you can set the size of the Dock. Pretty nice.
I think there is one rather small problem with the Gnome Extensions web site - there are a lot of different extensions listed, and I can't see any logical grouping or organization of them. At the moment there are 17 pages with about 10 extensions on each page, and no overview. If you want to know what all is there, you have to just slog through page after page, reading the names and very brief descriptions of each one. It didn't take long before my eyes started to glaze over, and when that happens you are in danger of missing something interesting.
Here is a good example. As I mentioned above in the Tweaks tool, the default Alt-Tab display is pretty lame. Turning on the Tweak extension at least gives you a reduced view of each window, but the selection is still pretty boring. If you want the Full Monty of Alt-Tab functionality, the Gnome Extensions site includes (on page 5 of 17) the Coverflow Alt-Tab extension.
My point here is not only that the Coverflow Alt-Tab extension is good for a lot of Gee-Whiz effect, but also that it is really worthwhile to dig through the entire Gnome Extensions web page, there are quite a few gems in there.
There is one other alternative for a good application launcher on the Gnome 3 desktop, the Cairo-Dock (also known as GLX-Dock). This is a complete separate package, it is not included in the Gnome Tweaks utility or the Gnome Shell Extensions web page. Unfortunately it is also not listed in the Fedora Software management utility, so you will have to install it yourself from the CLI. All you have to do is run "dnf install cairo-dock" as root (or sudo), it will install the Cairo-Dock packages and whatever additional packages they depend on.
After installation has completed, you will need to run Cairo-Dock. You can choose to run it once, on-demand, by starting it from whatever application menu or launcher you are using, or set it to auto-start when you login. There is an option in the Cairo-Dock settings that is supposed to set it to start automatically, but that didn't work for me... I don't know if this is a known issue, or something new with Gnome 3.18. I finally set it to auto-start by going to the Gnome Tweak Tool and adding it to the Startup Applications list.
The Cairo-Dock comes up the first time looking like this. It will be on the bottom edge of the screen, with Intelligent Hiding enabled.
Cairo Dock also includes a Taskbar function, so not only do you get the static list of launcher and folder icons, every time you open a new window it will add an icon to the center of the Cairo-Dock. This makes window management a lot more convenient.
At the left end of the Cairo-Dock is a Workspace Switcher and an Application Menu, and at the right end is a Logout/Restart/Shutdown control.
There are loads more features in Cairo-Dock. Right-click on the dock to get the short configuration menu, and choose Configure from there to get the full Cairo-Dock Configuration window.
For a bit of fun, go to Configuration/Appearance/Views and try changing the format of the dock. It can be 2D or 3D, animated or static, and it can even look like an old-style Gnome Panel, that's all fine, but the Rainbow view is pretty mind-boggling, and as for Parabolic...
I want to wrap up this post by returning to what I said at the beginning about the Gnome Shell. What I have presented in this post are ways to configure and customize the Gnome Shell - but because of the modular way in which Gnome 3 is designed, it is also possible to replace the Gnome Shell entirely with something else which presents a completely different desktop and has completely different configuration and customization possibilities. In fact, that is what both Cinnamon and MATE do, and I will be discussing them in the next couple of posts.