|Nautilus type-ahead search functionality|
For many versions now, Nautilus (Files), the default GNOME file manager, has been using a recursive search in the current folder when the user starts typing.
Before that, Nautilus used type-ahead find, which allowed the user to select a file or folder in the current directory (not including anything found in subdirectories) using the keyboard, by starting to type the file / folder name; this would make the selection jump to the first file or folder matching the typed characters. If multiple file or folders would match the query, the arrow keys could be used to go to the next or previous match
This article explains how to install Nautilus file manager patched with the old type-ahead find (type to jump to file) behavior on Ubuntu 20.04, 19.10 or 18.04, using a PPA based on a patch from the Arch Linux User repository.
Here you can see Nautilus 3.36 patched with the type-ahead search feature, as a GIF:
To bring back the old type-ahead search feature to Nautilus, the file manager was patched. Albert Vaka maintains an AUR package that you can use to easily install Nautilus with type-ahead search functionality on Arch Linux or Manjaro.
Lubomir Brindza used the patches from this AUR package to create a PPA that can be used on Ubuntu 20.04, 19.10 or 18.04. We’ll use this PPA below to install the patched Nautilus.
It’s worth noting that the recursive search feature continues to work in this patched Nautilus. However, you’ll need to click on the search icon from the Nautilus toolbar (or press
Ctrl + F) to search. This patch only affects the search functionality that starts when you type in Nautilus with the file list focused.
Install Nautilus with type-ahead find on Ubuntu 20.04, 19.10 or 18.04
1. Pin the PPA with a priority of 1001
The Nautilus version from the PPA may be overwritten by an Ubuntu update. For example Ubuntu 20.04 currently has Nautilus version 3.36.2-0ubuntu1 in the Updates repository and 3.36.3-0ubuntu1 in the Proposed repository, while the PPA has Nautilus 3.36.2-0ubuntu2ppa1 (version newer than the one in the Updates repository but older than the one in the Proposed repository). When the version from the Proposed repository will be pushed to Updates, this Nautilus version will overwrite the one in the PPA (until the maintainer updates it).
To avoid this, we can pin the Nautilus Typeahead PPA packages to have a priority of 1001 (with 500 being default on Ubuntu, and > 1000 meaning to install the packages even if it’s a downgrade), so the packages from the PPA are not overwritten by any Ubuntu updates, and they can be installed even if the version on the system is newer. To do this, create a file (as root) in
lubomir-brindza-nautilus-typeahead-pin-1001 as the filename – you can just run this Nano command to open a new file at this location:
sudo nano /etc/apt/preferences.d/lubomir-brindza-nautilus-typeahead-pin-1001
Paste this in the file:
Package: * Pin: release o=LP-PPA-lubomir-brindza-nautilus-typeahead Pin-Priority: 1001
Now save the file and exit (in Nano, save using
Ctrl + o, then exit with
Ctrl + x).
2. Add the PPA and install Nautilus with type-ahead find on Ubuntu 20.04, 19.10 and 18.04, or Linux distributions based on these Ubuntu versions (including Pop!_OS):
sudo add-apt-repository ppa:lubomir-brindza/nautilus-typeahead sudo apt upgrade nautilus -q
This will upgrade Nautilus file manager to the patched version from the PPA. The last command restarts Nautilus in case it was already running, so you can now use the type-ahead find feature in Nautilus.
You might also like: Get A Terminal Embedded In Nautilus File Manager With Nautilus Terminal 3.
How to undo the changes
Want to go back to the default Nautilus with its recursive search as you type? Install ppa-purge and purge the Nautilus Typeahead PPA:
sudo apt install ppa-purge sudo ppa-purge ppa:lubomir-brindza/nautilus-typeahead
Let’s also remove the APT preferences file that we used to pin this PPA, because it’s no longer doing anything:
sudo rm /etc/apt/preferences.d/lubomir-brindza-nautilus-typeahead-pin-1001