Comfy GNOME shell

Sparing thoughts for the favoured desktop whatsit of the thoughtless

GNOME! The default on Ubuntu! Competitor to KDE Plasma, the other major default widget system aesthetic “desktop environment” framework denomination coding convention whatsit.

As far as I am concerned, there is not much to choose between GNOME (Minimalist/C-ish?) and KDE (Maximalist C++-ish?) styles of doing things. They both give you lots of clicky widgets and buttons on linux machines arranged into an adequate implementation of the modern style of desktop user interface. They both look suspiciously overengineered and tend to be installed with way too much extraneous crap.

GNOME comes configured as the default method of doing things Ubuntu and seems (therefore?) to have a larger user base and more HOWTOs. KDE has a number of advantages; e.g. I think it is uncontroversial that basic file manager Dolphin is a better file manager than Nautilus as far as functionality. And some other things which I cannot remember right this second (my workplace uses KDE as opposed to my home GNOME setup, but I am not going to ride in there just to check).

You can mix and match GNOME-ish and and KDE-ish apps in the same OS. The more fundamental to the desktop is the app in question, the more complicated and annoying this gets. None of this partisanship matters to my life enough to bother with the fuss of trying it, so here are some low-effort GNOME tweaks and tips to improve the status quo from within.

Keyboard shortcuts

What are the keyboard shortcuts? Here’s an intro. The advanced emoji/unicode shortcuts via the ibus system, Ctrl-shift-e and Ctrl-Shift-e clash with some other useful shortcuts. I recommend changing them; but they are not in the usual os shortcut setup; instead you must fight through the ibus-setup app, which does not run for me. There is a hack involving dconf-editor and the key /desktop/ibus/panel/emoji/hotkey. I changed mine to ['<Super><Shift>e']. The other, nearly-as-annoying, Ctrl-Shift-u unicode keyboard shortcut does not seem to have any way of turning it off except disabling ibus, which also removes the emoji selector and thus various other nice things, like Chinese input methods, that depend upon ibus.

File manager

The default file manager in GNOME is Nautilus. Nautilus has a salutary commitment to minimalism and simplicity, which I naturally approve of. However, as with many ideological commitments, just as anyone who does not take it as far as me is a mealy-mouthed quisling, so is anyone who takes it further than me a fundamentalist zealot or a hipster, and the Nautilus team I thus suspect of comprising some mix of the latter two.1 They take the minimalism to an extreme with their stubborn commitment to their idiosyncratic UI conventions, at the cost of modern convenient ones typeahead navigation, which does not make my life simpler.

Totally the Nautilus UI

There are many other file managers but AFAICT nautilus is, at least in GNOME-flavoured-ubuntu, tightly-enough-coupled to the OS that it would be awkward to replace it with something else. By this I mean that I suspect that alternative file managers will introduce larger irritations of compatibility and maintenance and that faffing about trying it out is not the top of my list.

I could switch to a different desktop environment entirely (KDE? [linux mint cinnamon?)) which would be smoothly integrated with some different file manager, if this were really annoying, but I do not relish the prospect of getting my fussy linux audio apps running far from the mainstream, so I stick to GNOME and the gnome defaults. So! Nautilus.

Typeahead navigation

I want to type W to navigate in the file browser to files starting with W, like Windows/macOS/Chrome/Firefox/etc. Apparently this is called typeahead navigation, and they deleted that feature from Nautilus in favour of a slow, annoying recursive search. Search is nice, but it’s a different thing to navigation, and this disorients and this annoys me every day of my life, because it works in macOS, it works in every drop down list in the entire OS, and every browser and every app, but it does not work on the GNOME file browser, where I need it most of all. Nonetheless the Nautilus developers are obdurate about keeping it this way. There is a long story here as to how it got so acrimonious but it is kind of boring and similar to too many other open source loggerheads, so let us ignore it and just get to fixing the problem from the user end.

Replace Nautilus with Nemo

Replace the file browser with a competitor, Nemo, which is a cousin of Nautilus. Despite the filial relationship they are different and this seems likely to have undesired side effects on modern GNOME desktop. (Supposedly this is not too bad in Ubuntu 19.10+) Confusingly, the new file manager appears as Files not Nemo so I constantly wonder which file browser I am using.

sudo add install nemo
xdg-mime default nemo.desktop inode/directory application/x-gnome-saved-search

Pro: much easier to navigate

Con: File browser is, to my eyes, uglier

Con: Preview with gnome-sushi, below, does not work any more. Maybe nemo-preview would replace it? (I think tht is even derived from gnome-sushi.) However, it is not in the repository so I will not go down a rabbit hole to install it.

Con: “Recent files” disappears. You can enable it.

press Ctrl+L so you can enter "Addresss/Path", then type in: recent:/// and press enter. It should show the recent files. Then press Ctrl+D to bookmark this into your nautilus sidebar.

Fork nautilus

The only reasonable long-term solution for Nautilus-lovers given the hipster issue upstream seems to be distribution fixes downstream for users. For Archlinux users this is already not a problem. Ubuntu people can use the forked Nautilus with typeahead search too. This feels fragile. Recent blogs lead me to believe the fork is probably ok? 🤷‍♂️

sudo add-apt-repository ppa:lubomir-brindza/nautilus-typeahead
sudo apt upgrade

Retro cinnamon desktop

Install a complete custom fan-built retro cinnamon desktop which includes the classic Nemo and lots of other features with less support from the mainline. This seems ricketty and dangerous, and low ROI. If I wanted to go to the trouble of running an unorthodox desktop environment, I would drop GNOME entirely in favour of something lighter and more secure, and hell, try a hardened OS while I was there.

macOS-style quicklook previews

Gnome Sushi does that well.

apt install gnome-sushi

Typing foreign characters

See applied typography.

tl;dr

apt install gnome-tweaks

Then launch Tweaks

  1. Go to Keyboard & Mouse.
  2. Choose Caps Lock for the Compose Key.

Themeing

Are you used to Unity (i.e. Ubuntu before 2018) and the Cinnamon desktop it came with? You might want to make GNOME look like Unity.

For custom user themeing AFAICT you need to install a non-Ubuntu extension to enable user themes? That sounds like too much effort. I will just change the desktop background image I think.

Or! Install a not-very-custom pre-built theme. The only one I have witnessed having adherents is Canta. There are others.

Gnome shell

For user themes and extension wrangling, the Alt-F2 menu is useful because it has some commands you use in shell tweaking, e.g.:

r
restart GNOME Shell
rt
reload the GNOME Shell theme. i.e. to share/gnome-shell/theme/gnome-shell.css`.
lg
launch LookingGlass GNOME Shell’s integrated debugger and inspector tool.

🏗 does this work under Wayland?

Indicators

Unity Applets do not work in modern GNOME. Indicators e.g. for power are the done thing.

Extensions

Real executable code extensions are installed on your computer via a… web browser extension? I’m not sure how insane this is, but it feels insane to me.

Too many docks on the desktop

Too many docks too many many docks.

I use the Ubuntu dock, because it is default on Ubuntu. But if you search for GNOME Dock Extension there are many variants which briefly seemed to me to be desirable. Cairo-dock? dashtodock? Many more even less reputable looking ones? Bikeshed dock? Committee dock? OCDock?

Help! My Dock is visible on lock screen

This was a common problem. If I understand it right, at least for Ubuntu, it’s do with the demarcation lines after Ubuntu Unity was replaced by Gnome-with-extensions-to-make-it-look-like-unity. If you want everything to work out like you expect, you either do

  1. Use Ubuntu Dock Gnome extension, which is a patched Dash-to-Dock (i.e. not no dock extension and not vanilla Dash-to-dock extension.
  2. Oh that didn’t work? Try gsettings set org.gnome.shell.extensions.dash-to-dock transparency-mode FIXED Why they have it default to BROKEN I will never understand.

Tiling

There is basic split screen tiling built in.

By dragging windows to the left and right edges of the screen you can tile them side by side.

There are some attempts to support more sophisticated tiling:

As the author of slinger explains, there is a lot of awful kludging needed to make these go so none are entirely satisfactory. Slinger sounds like the most elegant option of these, but I couldn’t make it actually work.

I could, e.g. try to use xmonad with GNOME. 😒

Or, I could abandon gnome for sway which is a Wayland port of the classic i3 tiling window manager. Once again though, this is getting far from mainstream. Also they do not support some things, like nvidia so, might be painful.

Terminal emulators

Tilix is the terminal emulator that Gnome people tend to like. It has consistent keyboard shortcuts, tiles (but tiles terminals only) and integrates into the Gnome. I prefer hyper FWIW.


  1. relative, of course, to my own personal preferred level of zealous hipness.↩︎