FasdQuery is a lightweight, instant file search engine for Linux, inspired by voidtools' Everything. It scans your filesystem in a background thread, filters results live as you type, and lets you act on files immediately — open, reveal, copy path, or trash — without ever leaving the keyboard.
Built entirely with Qt6 Widgets and modern C++17. No Electron, no runtime bloat, no telemetry.
FasdQuery keeps a strict separation between the scanning engine, the data model, and the UI — connected entirely through queued Qt signals and slots, so the interface thread is never blocked by disk I/O.
| Component | Responsibility |
|---|---|
FileScanner |
Recursive filesystem walker running on its own QThread; emits results in batches |
CategoryFilter |
Maps file extensions to bitmask categories (0x01 Audio, 0x02 Video, 0x04 Images, 0x08 Documents, 0x10 Archives, 0x20 Code) |
FileTableModel |
QAbstractTableModel implementation holding all entries, applying search text and category mask filtering, and tracking open-count for ranking |
MainWindow |
Builds the UI, wires signals, and handles all context-menu file actions |
Pick a theme from the dropdown in the top bar — it applies instantly across the entire application via qApp->setStyleSheet().
- CMake ≥ 3.16
- A C++17 compiler (GCC or Clang)
- Qt6 development packages:
Widgets,Concurrent,Svg
On Debian/Ubuntu-based systems:
sudo apt install build-essential cmake qt6-base-dev qt6-svg-dev libqt6svg6-devmkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
./FasdQueryFasdQuery uses a flat file structure — every source file lives at the project root, no nested src/ or include/ directories.
fasdquery/
├── CMakeLists.txt
├── main.cpp
├── MainWindow.h / .cpp
├── FileScanner.h / .cpp
├── FileTableModel.h / .cpp
├── CategoryFilter.h / .cpp
├── FileEntry.h
├── icons.qrc
├── app_icon.svg
└── readme_assets/
The following features are planned but not yet implemented:
- Content indexing — search inside file contents (
content:prefix), backed by an on-disk inverted index (SQLite) - Remote HTTP server — query and download files from another machine over the local network, mirroring Everything's built-in HTTP server
- Full OS MIME integration — deeper context-menu actions per file type (print, extract, etc.)
AGPL-3.0 — free and open source.