Updated: April 26, 2017
Despite my recently found liking for Gnome 3, largely because of Fedora 24 and Fedora 25, plus some rigorous work with extensions like Dash to Dock, it is still a highly inefficient desktop environment. The unnecessary touch emphasis is there, regardless of what anyone says, and it makes things difficult.
For instance, Show desktop. This is an action slash widget in pretty much every other desktop, and despite occasional setbacks and regressions, it's always been there, a loyal companion in the moment of need. Not so in Gnome 3. Not just hidden. Not there at all. And what if you want it? Far from trivial. Hence this tutorial.
Show desktop - method 1 - keyboard shortcut
We did discuss some gentle Gnome pimpification and taming in my first installment of this kind, soon to be followed by a sequel, and I've dedicated no less than three articles to the art of pimping and tweaking for Fedora, including (but not limited to, hi hi) the original guide for Fedora, and two follow-up tutorials for the 24th edition aptly labeled A New Tweak and The Gnome Strikes Back, no I am making that up, which inevitably means mostly Gnome, ergo ipso facto concordingly, a good source of fun for yous. If my humor did not scare you, please take a look at part one and part two. Indeed.
One of the easy ways of getting some control back - as far as showing the desktop is concerned - is to configure a keyboard shortcut, akin to that enabled in Windows, which is normally Super + D. Gnome 3 ships with this particular combo in the disable mode. Sigh.
Anyhow, System Settings > Keyboard. Type hide in the search box to narrow down the results. Under Navigation, there will be an option called Hide all normal windows. This is the Show Desktop functionality you want. Assign it a key combo. Done.
Show desktop - method 2 - desktop and panel icon
You may actually be interested in something nicer. A proper icon that will show up in your application search, and also be pinnable to panels and docks and such. This requires a little bit of extra work. Now, this method only works for Xorg at the moment, so if you're using the Wayland Gnome session, you need to be aware of the limitations.
First, we need to install wmctrl, which is a tool to interact with EWMH/NetWM compatible X Window Managers. This will let you toggle the show desktop functionality on or off with the right switch, if the desktop environment supports it, which Gnome 3 does.
Now, we need to create a launcher that will activate this command. You can create it on your desktop, or you can create it under /usr/share/applications, which will make it globally searchable through the menu. But let's progress slowly. First, let's create the launcher:
Exec=wmctrl -k on
Save this text into a file named show-desktop.desktop under your home directory, into the Desktop folder. If you allow icons to be shown on your desktop, you will suddenly have this new entry there. You will need to make the file executable:
chmod +x /home/<user>/Desktop/show-desktop.desktop
Then, double-click, and it will make your windows disappear, but this is not ideal, because the icon might to be accessible to begin with, defeating the the whole desktop visibility trick here. A better solution is to copy or move it into the applications directory:
sudo mv show-desktop.desktop /usr/share/applications
Now, it will be available in the system menu search, you can add it to Favorites, you can add it to a dock, if you're using one, and you have proper behavior like any other normal and sane desktop environment.
Here we go, not one but TWO different ways to simplify your life with Gnome. This is just one more cool trick you absolutely need to make your desktop experience more enjoyable, which means we're long overdue for another fine tutorial. More hacks, tricks, tweaks, and general pimpage. Focused on Gnome, of course.
Anyhow, I hope this was a productive lesson. If you want an easy way to minimize all windows and show your desktop background, this little guide comes with both a keyboard shortcut combo trick and a more detailed explanation on how to create desktop icons, as well as application launchers that are globally searchable and usable. Very neat, I think. Enjoy your Interweebz, and see you soon with more healthy Linux explorations.