A search application is one of the most important tools you can have on your computer. Most are slow to indexes your system and find results. However, today we will be looking at an application that can display results as you type. Today, we will be looking at ANGRYsearch.
What is ANGRYsearch?
ANGRYsearch is a Python-based application that delivers results as you type your search query. The overall idea and design of the application are both inspired by Everything a search tool for Windows. (I discovered Everything ad couple of years ago and install it wherever I use Windows.)
ANGRYsearch is able to display the search results so quickly because it only indexes filenames. After you install ANGRYsearch, you create a database of filenames by indexing your system. ANGRYsearch then quickly filters filenames as you type your query.
Even though there is not much to ANGRYsearch, there are several things you can do to customize the experience. First, ANGRYsearch has two different display modes: lite and full. Lite mode only shows the filename and path. Full mode displays filename, path, size, and date of the last modification. Full mode, obviously, takes longer to display. The default is lite mode. In order to switch to full mode, you need to edit the config file at
~/.config/angrysearch/angrysearch.conf. In that file change the
angrysearch_lite value to false.
ANGRYsearch also has three different search modes: fast, slow, and regex. Fast mode displays filenames that start with your search term. For example, if you had a folder full of the latest releases of a bunch of Linux distros and you searched “Ubuntu”, ANGRYsearch would display Ubuntu, Ubuntu Mate, Ubuntu Budgie, but not Kubuntu, Xubuntu, or Lubuntu. Fast mode is on by default and can be turned off by unchecking the checkbox next to the “update” button. Slow mode is slightly slower (obviously), but it will display files that have your search term anywhere in their name. In the previous example, ANGRYsearch would show all Ubuntu distros. Regex mode is the slowest and most precise. It uses regular expressions and is case insensitive. Regex mode is activated by pressing F8.
You can also tell ANGRYsearch to ignore certain folders when it indexes your system. Just click the “update” button and enter the names of the folders you want to be ignored in the space provided. You can also choose from several icon themes, though it doesn’t make that much difference.
Installing ANGRYsearch on Linux
To install on other distros, follow these instructions. Instructions are written for a Debian or Ubuntu based system.
ANGRYsearch depends on
xdg-utils so you will need to install them first. Most distros have
sudo apt install python3-pyqt5
Next. download the latest version (1.0.1).
Now, unzip the archive file.
Next, we will navigate to the new folder (ANGRYsearch-1.0.1) and run the installer.
chmod +x install.sh
The installation process is very quick, so don’t be surprised when a new command line is displayed as soon as you hit
The first time that you start ANGRYsearch, you will need to index your system. ANGRYsearch does not automatically keep its database updated. You can use
crontab to schedule a system scan.
To open a text editor to create a new cronjob, use
crontab -e. To make sure that the ANGRYsearch database is updated every 6 hours, use this command
0 */6 * * * /usr/share/angrysearch/angrysearch_update_database.py.
crontab does not run the job if it is powered off when the timer does off. In some case, you may need to manually update the database, but it should not take long.
In the past, I was always frustrated by how painfully slow it was to search my computer. I knew that Windows had the Everything app, but I thought Linux out of luck. It didn’t even occur to me to look for something similar on Linux. I’m glad I accidentally stumbled upon ANGRYsearch.
I know there will be quite a few people complaining that ANGRYsearch only searches filenames, but most of the time that is all I need. Thankfully, most of the time I only need to remember part of the name to find what I am looking for.
The only thing that annoys me about ANGRYsearch is that fact that it does not automatically update its database. You’d think there would be a way for the installer to create a cron job when you install it.
Since ANGRYsearch is basically a Linux port of one of my favorite Windows apps, I’m pretty happy with it. I plan to install it on all my systems going forward.
I know that I have ragged on other Linux apps for not being packaged for easy install, but I can’t do the same for ANGRYsearch. The installation process is pretty easy. I would definitely recommend it for Linux noobs.
Have you ever used ANGRYsearch? If not, what is your favorite Linux search application? Let us know in the comments below.
If you found this article interesting, please take a minute to share it on social media, Hacker News or Reddit.