2026-08-02 19:04:30 -04:00
|
|
|
# QuickSearch
|
|
|
|
|
|
2026-09-25 14:58:51 -04:00
|
|
|
A fast local file search tool. QuickSearch indexes the folders you choose and
|
|
|
|
|
keeps that index fresh automatically, so it finds files by name or by content
|
|
|
|
|
as fast as you type.
|
2026-08-02 19:04:30 -04:00
|
|
|
|
2026-08-07 20:44:07 -04:00
|
|
|
## AI Disclaimer
|
|
|
|
|
|
2026-09-25 14:58:51 -04:00
|
|
|
QuickSearch's core was designed and built by hand by its developer. Most of
|
|
|
|
|
the rest, including the GUI, was designed by a human and built with AI agents,
|
|
|
|
|
under human review, improvement and testing.
|
2026-09-04 21:39:54 -04:00
|
|
|
|
|
|
|
|
## Home & GitHub Mirror
|
|
|
|
|
|
2026-08-07 20:44:07 -04:00
|
|
|
The primary home of this software is:
|
|
|
|
|
|
2026-09-04 21:39:54 -04:00
|
|
|
- https://quicksearch.karsttech.com
|
|
|
|
|
- https://code.karsttech.com/jeremy/quick_search
|
|
|
|
|
|
|
|
|
|
The code is also mirrored to GitHub for easier bug reporting and issue
|
|
|
|
|
tracking: https://github.com/DataScienceDIY/quick_search
|
|
|
|
|
|
|
|
|
|
## Features
|
|
|
|
|
|
2026-09-25 14:58:51 -04:00
|
|
|
- **Search as you type**: ranked results update with every keystroke,
|
|
|
|
|
matching file names, folder paths and file contents.
|
|
|
|
|
- **Typo tolerance**: an optional fuzzy mode finds `repot` when you meant
|
2026-09-04 21:39:54 -04:00
|
|
|
`report`.
|
2026-09-25 14:58:51 -04:00
|
|
|
- **Query filters**: narrow a search by kind, date or location, e.g.
|
|
|
|
|
`budget type:Document modified:>=2024-01-01`, plus wildcards and regular
|
|
|
|
|
expressions. The in-app "?" window lists the syntax.
|
2026-10-11 20:32:00 -04:00
|
|
|
- **Live results**: results on screen pick up renames, edits and deletions,
|
|
|
|
|
even while indexing is paused.
|
2026-09-25 14:58:51 -04:00
|
|
|
- **Duplicate finder**: groups files that look identical and verifies a group
|
|
|
|
|
byte for byte on request. It never deletes.
|
|
|
|
|
- **Always fresh**: folders are watched and periodically reindexed, or, in
|
|
|
|
|
manual mode, indexed only when you say so.
|
|
|
|
|
- **Password protection**: optionally encrypt the index, which holds the
|
|
|
|
|
names and text of everything indexed; your system keychain can remember
|
|
|
|
|
the key.
|
|
|
|
|
- **Global shortcut**: Ctrl+Shift+F brings up the window from anywhere,
|
|
|
|
|
starting QuickSearch if it is closed. The Settings tab binds it in one
|
|
|
|
|
click on KDE and GNOME; elsewhere, bind `quicksearch --toggle` in your
|
2026-09-06 19:43:57 -04:00
|
|
|
desktop's keyboard settings.
|
2026-09-25 14:58:51 -04:00
|
|
|
- **Terminal search**: `quicksearch <query>` prints ranked, pipe-friendly
|
|
|
|
|
paths; `--long` adds sizes, dates and highlighted snippets.
|
|
|
|
|
- **Portable mode**: keep the program, config and index in one folder that
|
|
|
|
|
moves between devices.
|
2026-09-04 21:39:54 -04:00
|
|
|
|
2026-09-25 14:58:51 -04:00
|
|
|
The Help tab and first-start tour cover usage, and every setting explains
|
|
|
|
|
itself on hover. `man quicksearch` (from the .deb, or
|
|
|
|
|
`packaging/quicksearch.1`) documents terminal search and the query syntax.
|
2026-08-07 20:44:07 -04:00
|
|
|
|
2026-08-02 19:04:30 -04:00
|
|
|
## Build & run
|
|
|
|
|
|
2026-08-02 20:21:19 -04:00
|
|
|
```sh
|
|
|
|
|
./build.sh # Linux
|
|
|
|
|
build.bat # Windows
|
|
|
|
|
```
|
2026-08-02 19:04:30 -04:00
|
|
|
|
2026-09-04 21:39:54 -04:00
|
|
|
These take a fresh machine to a running app: they install missing build
|
2026-10-11 20:32:00 -04:00
|
|
|
dependencies (via sudo or winget, and Rust via rustup), build a release binary,
|
|
|
|
|
and launch it. `--check` lists what is missing and installs nothing.
|
2026-08-02 19:04:30 -04:00
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
cargo build --release -p quicksearch-gui # binaries: target/release/quicksearch{,-cli}
|
|
|
|
|
cargo run -p quicksearch-gui # or just run it
|
2026-09-25 14:58:51 -04:00
|
|
|
cargo test --release --workspace # test suite (release: debug Argon2 takes minutes)
|
2026-08-07 20:44:07 -04:00
|
|
|
```
|
|
|
|
|
|
2026-09-04 21:39:54 -04:00
|
|
|
## Install
|
2026-08-02 19:04:30 -04:00
|
|
|
|
2026-09-04 21:39:54 -04:00
|
|
|
- **Debian / Ubuntu**: `./packaging/build-deb.sh`, then
|
|
|
|
|
`sudo apt install ./dist/quicksearch_<version>_amd64.deb`.
|
|
|
|
|
- **Other Linux**: download the AppImage from the release page, make it
|
|
|
|
|
executable, and run it. If your distribution lacks FUSE, run it with
|
|
|
|
|
`APPIMAGE_EXTRACT_AND_RUN=1`.
|
|
|
|
|
- **Windows**: run the setup `.exe` from the release page, or unpack the
|
|
|
|
|
`.zip` anywhere for an install-free copy.
|
2026-08-02 19:04:30 -04:00
|
|
|
|
2026-09-04 21:39:54 -04:00
|
|
|
## Configuration
|
2026-08-02 19:04:30 -04:00
|
|
|
|
2026-09-04 21:39:54 -04:00
|
|
|
Settings live in `~/.config/quicksearch/config.toml` (Windows:
|
|
|
|
|
`%APPDATA%\quicksearch\config.toml`), created on first run and edited live
|
|
|
|
|
by the GUI. [config_example.toml](config_example.toml) is the full
|
2026-10-11 20:32:00 -04:00
|
|
|
reference for every key. A QuickSearch `config.toml` placed next to the
|
|
|
|
|
binary (or the `.AppImage`) enables portable mode; another program's file of
|
|
|
|
|
that name is ignored.
|
2026-08-23 00:33:53 -04:00
|
|
|
|
2026-09-04 21:39:54 -04:00
|
|
|
## More
|
2026-08-23 00:33:53 -04:00
|
|
|
|
2026-09-04 21:39:54 -04:00
|
|
|
Design choices and the reasoning behind them are described in
|
|
|
|
|
[DESIGN.md](DESIGN.md); the code and its comments are the detailed
|
|
|
|
|
reference. QuickSearch is open source under the terms in
|
|
|
|
|
[LICENSE](LICENSE).
|