Compactor
A friendly user interface to Windows 10 filesystem compression
One of the more notable features that shipped with Windows 10 is a new filesystem compression system based on the Windows Overlay Filesystem architecture, originally developed for transparent handling of disk images.
It’s intended for use in applications, in particular the base OS (in a feature
referred to as CompactOS), but sadly this is only exposed to users via a command
line program — compact.exe
— and most users fail to take advantage of it.
Compactor
offers this as an alternative:
Compactor
makes it easy for users to compact arbitrary applications — just
select a folder, click Compress
, and watch as the size shrinks before your eyes.
Unlike compact.exe
, Compactor
makes some effort to avoid compacting files that
are unlikely to benefit — as well as a simple curated list of file extensions
that rarely compress, it also includes a compression estimator (the above-linked
“compresstimator”), which can quite accurately determine if a file will benefit
from compression by reading just a few dozen small fragments.
Compactor
is primarily written in Rust, using custom FFI interfaces via the
winapi
crate. The front-end is driven by web-view
and a small amount
of JavaScript.
In future I plan to decouple the UI further, extracting the compressor into a background service which runs when the system is idle, maintaining the compression of selected folders automatically.
I’m also tempted to make a release on Steam, which would offer users an easy way to provide donations to support development.