Releases: ReviseTouch/Scour
Release list
Scour 0.2.0-alpha.1 — columns, rails, and a service that costs less
Instant file search for Linux, with four faces over one index: a terminal
command, a window, a full-screen terminal interface, and a page in your
browser. Written in Rust, and nothing in it wraps anything else.
Alpha. Used daily on Linux against 4.8 million entries and measured there.
The Windows build is untested — started once on one machine, nothing more;
macOS compiles and has never been run. The index format may still change.
Since 0.1.0
- Columns you choose. Twelve columns — name, location, size, modified,
kind, extension, created, accessed, mode, owner, group, on disk — picked from
the⋮at the end of the header row, in the window and the browser alike.
Widths are shared out by one rule in all faces, and a dragged column gives
way when the room runs out. - The rails count what switching would give. Type
kind:codeand the kind
rail still says how many images there are; typedm:7dand the time strip
keeps its shape. The browser had this; the window and the terminal did not. - Timestamps in your zone. 12:08 no longer shows as 09:08.
- Five rows at a terminal, forty into a pipe, and the summary says how to
get more:5 of 1705 in 3.27 ms · -n 40 for more. - The service costs less. With a window attached, CPU 10.7% → 5.2% of a
core and writes 103 → 49 MB/min; peak resident memory 1,175 → 593 MB. An
unfocused window stops following the index until it is looked at again. - fanotify only. There is no inotify fallback on Linux, on purpose: it
spends a budget that belongs to your session. The watcher's directory map
keeps names and parents, not paths — 88 MB → 40 MB for 600,000 directories. - Windows and macOS compile, and a CI job keeps them compiling. The
Windows zip is here so somebody can try it; it has not been tested. - Right-click menu in all three faces: open, open with, reveal, copy, rename,
wastebasket. Help panel that closes. Preview panel. Skip-rules panel.
Install
tar xzf scour-0.2.0-alpha.1-linux-x86_64.tar.gz
cd scour-0.2.0-alpha.1-linux-x86_64
./install.shNo password is asked for: seven binaries to ~/.local/bin, a menu entry and
an icon to ~/.local/share; delete those files to undo it. Built against
glibc 2.39 — Ubuntu 24.04+, Debian 13+, Fedora 40+, any rolling distribution.
scourd & # indexes your home directory on first run
scour rapor # search from the terminal
scour-gui # the window — also in the application menu
scour-tui # the full-screen terminal face
scour-web # opens in a browserWhole-filesystem watching needs one privileged helper; install.sh prints
how, and the README explains what the privilege is for.
Windows: unzip scour-0.2.0-alpha.1-windows-x86_64.zip anywhere and read
README.txt (Turkish: BENIOKU.txt). Nothing is installed.
Scour 0.1.0 — tested on Ubuntu 24.04
Instant file search for Linux, with four faces over one index: a terminal
command, a window, a full-screen terminal interface, and a page in your
browser. Written in Rust, and nothing in it wraps anything else.
This is the first build meant to be handed to somebody else rather than run
from a checkout.
Install
tar xzf scour-0.1.0-linux-x86_64.tar.gz
cd scour-0.1.0-linux-x86_64
./install.shNo password is asked for. Seven binaries go to ~/.local/bin, a menu entry
and an icon to ~/.local/share, and the script prints what to do next.
Deleting those files undoes it; scour where prints where the index and
settings live.
Then:
scourd & # indexes your home directory on first run
scour rapor # search from the terminal
scour-gui # the window — also in the application menu
scour-tui # the full-screen terminal face
scour-web # opens in a browserWhere it runs
Built against glibc 2.39: Ubuntu 24.04+, Debian 13+, Fedora 40+, and any
rolling distribution. Ubuntu 22.04 and Debian 12 carry an older glibc — build
from source there, which takes about a minute.
Tested on Ubuntu 24.04
Not "compiles for" — run, on a clean 24.04.4 guest with nothing installed on
it:
| the installer | ran, and warned that ~/.local/bin was not on PATH |
| all seven binaries | started and reported their version |
| the service | indexed the home directory, watched it with inotify |
scour bash |
answered in 0.13 ms |
| the browser face | served its page, HTTP 200 |
| the window | loaded (the guest is headless, so it was not looked at) |
The window nearly did not ship at all: built here it demanded glibc 2.43,
because two maths symbols — acosf and atan2f — gained a second, newer
version last month and the linker binds to the newest it can see. They are
pinned to the version x86-64 has carried since 2002.
Watching
scourd watches with inotify, from a budget shared with everything else in
your session. A large home does not fit in it — and rather than take the whole
budget and break the next program that asks for a watch, scourd says so and
reconciles by walking instead. Nothing is missed; changes take longer to show.
For a filesystem-wide fanotify mark instead, immediate and nearly free,
install the system unit — the only part that wants root, and worth reading
before you run it:
sudo install -m644 packaging/scour.service /etc/systemd/system/scour.service
sudo systemctl daemon-reload
sudo systemctl enable --now scour.serviceKnown limits
- Linux only in practice. It compiles for Windows and macOS and has never
been run on either; compiling is not running. - The window needs a display. It draws on the CPU by choice — measured
against the GPU renderer, which cost 24 MB more memory and a slower start
for no gain on a list of text. - One documentation wart:
scour syntaxcalls;a synonym for|, and
between two words it behaves as a separator instead.|is unambiguous.
Licence
MIT or Apache-2.0, your choice.