# FSearch: an Everything-style indexed file search for Linux desktops

> FSearch is a GTK3 file search utility in C that indexes filenames so results appear as you type. It is aimed at Linux users who miss Everything Search Engine, and it installs from distribution packages rather than a single cross-platform binary.

**cboxdoerfer/fsearch** — A fast file search utility for Unix-like systems based on GTK3

- Repository: https://github.com/cboxdoerfer/fsearch
- Stars: 4,386 · Forks: 285
- Language: C
- License: GPL-2.0
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/cboxdoerfer-fsearch

## The problem FSearch solves, and who has it

Desktop file managers on Linux are fine at browsing and poor at finding. If you half-remember a filename and not its directory, walking the tree is the wrong tool, and a recursive search over a large home directory is slower than the interaction deserves. FSearch takes the opposite approach: it keeps an index of file and folder names, so the result list updates while you type.

The README is explicit about the motivation. The author liked Everything Search Engine on Windows, could not find a Linux equivalent that was comparably fast, and evaluated MATE Search Tool, Recoll, Krusader, SpaceFM File Search, Nautilus, ANGRYsearch and Catfish before writing his own. The stated requirements for the replacement were a standalone application rather than a file manager plugin, a language with C-like performance, no dependency on a specific desktop environment, Qt5 or GTK3, and a small footprint. FSearch is the GTK3 answer to that list.

That framing matters, because it tells you who the tool is for. It is for someone on a Linux desktop who searches by name, often, and wants the answer in the time it takes to type another character. It is not for someone searching inside documents, and not for someone who lives in a terminal.

## How the index and query path work

The architecture visible in the repository is a C application built with Meson, linked against GTK 3.22, GLib 2.60, PCRE2 10.21 and ICU 4.4, with glibc 2.19 or musl 1.1.15 as the C library the author verified. The interface is GTK3, and the README notes that you can switch between a traditional menubar layout and client-side decorations, which is a small thing that matters if your desktop's header bar conventions annoy you.

The search itself is index-backed, which is why results are instant as you type. FSearch lets you include and exclude specific folders from the index, and exclude files or folders by wildcard expression, so the index is a deliberate subset of the filesystem rather than a mirror of it. Queries support an advanced search syntax documented in the project wiki, plus wildcards and regular expressions. Filters narrow results to files, folders, or everything. Sorting by filename, path, size or modification time is available from the result list.

The cost of this design shows up in the README's own limitations section. Sorting a large result set by Type is slow because that information is not indexed and gathering it is expensive; as a consequence, when the view is sorted by Type, running a new search resets the sort order back to Name. That is a real constraint, not a caveat: the type column is computed on demand, and the interface gives up your sort preference rather than pay for it on every keystroke.

## How to install FSearch on Ubuntu, Arch and Fedora

There is no single binary to download. The README recommends installing from one of the stable packages unless you know what you are doing, and separates stable from development builds per distribution. Ubuntu users get a PPA, Arch users an AUR package, Fedora, RHEL and CentOS users a COPR, Debian and openSUSE users OpenBuildService packages, and there is a Flathub build that the README flags as having limited features, with a wiki page describing those limitations.

On Ubuntu, the project publishes a stable PPA. The README links to the PPA page at launchpad.net/~christian-boxdoerfer/+archive/ubuntu/fsearch-stable rather than printing the add-apt-repository line, so check that page for the command that matches your release codename before running anything.

On Arch, the stable package is in the AUR as fsearch, with fsearch-git tracking development. The AUR page is at aur.archlinux.org/packages/fsearch, and the build dependencies are listed in its PKGBUILD.

On Fedora and related distributions the project maintains a COPR repository named cboxdoerfer/fsearch for stable builds and cboxdoerfer/fsearch_nightly for nightly ones. The COPR page at copr.fedorainfracloud.org/coprs/cboxdoerfer/fsearch gives the enable command for your release.

After the package is installed, launch FSearch from your application menu. The first run is where you do the real configuration: open the preferences and set which folders are indexed, since the index is built from the include list rather than the whole filesystem. Add your home directory or a project tree, let the initial index build, then type a fragment of a filename into the search field. Results should appear as you type. If a file you expect is missing, check the exclude wildcards before assuming the index is broken.

## Where FSearch gets in your way

The Move to Trash behaviour is the sharpest limitation in the README. Sending a file or folder to the trash does not update the database index, so trashed items keep appearing in results as though nothing happened. If you use FSearch as your primary way of finding and then removing files, you will see ghosts until the index is refreshed. That is a correctness problem in the result list, not a cosmetic one.

The Type sort is the second. Because type data is not indexed, sorting a large result set by Type is expensive, and a new search resets the sort back to Name. Anyone who wants to group results by extension in a big directory will find that the interface quietly undoes the grouping.

The Flathub build is a third constraint, and the README does not enumerate it: it links to a wiki page titled Flatpak version limitations instead. If you install from Flathub because it is the most convenient option on your distribution, read that page first, because the README's own recommendation is to prefer a stable distribution package.

Finally, platform. The README's download table covers Ubuntu, Arch, Fedora and relatives, Debian, openSUSE, Flatpak, Solus and FreeBSD, with Solus and FreeBSD marked as not maintained by the author. There is no Windows build described, which is worth stating plainly given that the project is a deliberate response to a Windows tool.

## FSearch compared with Recoll and locate-based search

The README names the alternatives the author evaluated, and Recoll is the most instructive contrast because it inverts the design. Recoll is a full-text indexer: it parses document contents and lets you search inside files. FSearch indexes names. If your question is "where is the invoice PDF", FSearch is the faster path. If your question is "which PDF mentions the contract renewal date", FSearch cannot answer it at all, because content is not in the index.

Krusader and SpaceFM File Search are locate-based, which means they depend on the mlocate or plocate database and the updatedb schedule. That database is also name-based, so the query model is closer to FSearch than Recoll is, but the freshness model differs: locate results are only as current as the last updatedb run, whereas FSearch maintains its own index and rebuilds it on its own terms. The trade-off is that FSearch owns a database you have to configure, and locate owns a system database you inherit.

Catfish and ANGRYsearch are the other two the author tried. Both are GTK search frontends, and the author's stated reason for not improving them is that they were not what he was looking for: he wanted a standalone application with C-like performance and no desktop environment dependency. That is a design preference rather than a defect in those tools, and it is the honest way to read the comparison. FSearch is not better than Catfish in some absolute sense; it is a different bet on where the time should be spent, and that bet is the index.

## Maintenance, licensing and upgrade cost

The repository is not archived, and the last push was on 2026-09-22. Releases have been landing steadily: 0.3 on 2026-07-12, 0.3.1 on 2026-07-17, and 0.3.2 on 2026-09-20. That cadence suggests the project is being maintained, and the two patch releases after the 0.3 feature release suggest the author is fixing what 0.3 broke rather than sitting on it.

FSearch is GPL-2.0. If you are an end user installing from your distribution, the licence is not something you need to think about. If you are considering linking FSearch code into a proprietary product, or shipping a modified build, GPL-2.0 is a copyleft licence with distribution obligations, and you should read the LICENSE file in the repository and talk to someone qualified rather than treat this paragraph as guidance.

Upgrade cost is low in the ordinary case: the distribution packages track the project, and the PPA, COPR and AUR package names are stable, so a normal system update carries you forward. The one thing to watch is the stable versus development split. The README recommends stable packages unless you know what you are doing and describes the development packages as intended for testing and adventurous users. If you enable the daily PPA or the nightly COPR for a feature you want, you have opted into that stream and should expect to track it.

The build path exists for anyone who needs it, but the README does not print it. It links to a wiki page titled Build instructions, and the repository root contains meson.build and meson_options.txt, which is consistent with a Meson build. The dependency list in the README is the place to start if you go that route.

## Conclusion

Adopt FSearch if you work on a Linux desktop with GTK3 available and want filename results as you type without leaving the keyboard, and if you can install it from your distribution's package source. Do not adopt it if you need content search, a Windows build, or a command-line interface; the README lists no CLI and Everything itself is the Windows tool that inspired it. Before relying on it, verify that your distribution's package is the stable one rather than the development build, and confirm that the folders you care about are inside the index rather than excluded by a wildcard rule.

## FAQ

### How do I install FSearch on Ubuntu?

The README points Ubuntu users at the stable PPA at launchpad.net/~christian-boxdoerfer/+archive/ubuntu/fsearch-stable, with a separate daily PPA for development builds. It recommends the stable packages unless you know what you are doing.

### How do I install FSearch?

Install it from your distribution's package source rather than downloading a binary. The README lists a PPA for Ubuntu, AUR for Arch, COPR for Fedora and relatives, OpenBuildService for Debian and openSUSE, and a Flathub build that it notes has limited features.

### What is a good alternative to Everything search on Linux?

FSearch was written for exactly that purpose: the README says it was inspired by Everything Search Engine and that the author could not find a Linux tool that was comparably fast. It indexes file and folder names and returns results as you type, but it does not search file contents.

### What is the best file search software?

The README does not rank file search tools in general; it explains why the author wrote FSearch instead of improving an existing one. His stated criteria were a standalone application, C-like performance, no desktop environment dependency, Qt5 or GTK3, and a small size.

### How do I search for files in Linux?

FSearch offers one answer to that: it indexes file and folder names and shows results as you type, with an advanced search syntax, wildcards, regular expressions and filters for files, folders or everything. The README does not cover other Linux search methods.

### How do I search for a specific file?

Type a fragment of the name into the FSearch search field and results appear as you type. You can narrow the list with the filter for files, folders or everything, and with wildcards or regular expressions.

## Sources

- [cboxdoerfer/fsearch on GitHub](https://github.com/cboxdoerfer/fsearch)
- [Issues](https://github.com/cboxdoerfer/fsearch/issues)
- [License: GPL-2.0](https://github.com/cboxdoerfer/fsearch/blob/master/LICENSE)
- [README](https://github.com/cboxdoerfer/fsearch/blob/master/README.md)
- [Releases](https://github.com/cboxdoerfer/fsearch/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/cboxdoerfer-fsearch
