Skip to content

Vacuon 0.3.2 — moving files, and the first switches that turn things off

Choose a tag to compare

@joedsonalves joedsonalves released this 22 Aug 00:37
· 34 commits to main since this release

Disk space analyzer for Windows. Reads the NTFS MFT straight off the volume, shows the real content of what you are about to delete, and never claims a number it did not measure.

Vacuon is now on winget. winget install vacuon works — the package was accepted into microsoft/winget-pkgs on 21 August.

This release adds the first actions that change something other than your files: a Move to… that overwrites nothing, and an Optimize section that can turn Windows features off. Everything it turns off, it can turn back on.

Download

File What it is Size
Vacuon.exe The app. Download this one. 62 MB
vacuon-cli.exe Command line, for scripting 36 MB
Vacuon-0.3.2-win-x64.exe Identical to Vacuon.exe, named for winget, which pins a hash 62 MB
vacuon-cli-0.3.2-win-x64.exe Identical to vacuon-cli.exe, same reason 36 MB

Take Vacuon.exe. It keeps that name after downloading, and Windows shows a loose executable by its file name — Vacuon-win-x64.exe in the Start menu reads like a build artefact.

Portable and self-contained: nothing to install, no .NET runtime needed, runs from a USB stick.

Vacuon-0.3.2-win-x64.exe      674DE1371A6F0B9C4A37EA56BAB9CC7331E21B01410297FCDF0765B51983E0BB
vacuon-cli-0.3.2-win-x64.exe  C213263CBF52A358FDA87BD8796EEDC9D6963FF72FE8F1CFD1E993D9B6BD29CB

Verify with Get-FileHash .\Vacuon.exe — the two names are the same bytes.

Windows will warn you — that is expected

The file is not code-signed, so Windows shows a blue "Windows protected your PC" screen the first time. Click More infoRun anyway.

If you would rather not trust an unsigned binary from a stranger, that is the correct instinct. Clone the repository and build it yourself: dotnet build -c Release.

New: moving files

Sorting a folder by hand is not deleting. You open a file, decide, and it either stays or goes somewhere else — so Move to… works on the ticked basket, which survives opening files, changing folder, sorting and searching. Space ticks whatever is highlighted, which makes a pass through a folder: open, look, Esc, Space.

  • Nothing is ever overwritten. A name the destination already uses goes in as render (2).mp4, and the confirmation lists which ones will be renamed before anything moves. That includes two files with the same name arriving from two different folders in one batch — each one sees an empty destination, so only the batch itself can catch it.
  • A move on the same volume frees no space, and the dialog says so instead of adding the size to a total as if it had. It rewrites a directory entry; it is instant, and the disk gives nothing back. Moving to another volume is a copy plus a delete, which does free space here, and the figure comes from the entries that left.
  • Destinations are judged differently from deletion targets. Videos must not be deleted and is a perfectly ordinary place to move a video into. What is refused is writing into what Windows and installed programs own.
  • Creating the destination folder in the picker is the normal way to start sorting, so Vacuon adopts a folder younger than the scan into the index at its real MFT record number, read from the file system. When it cannot place it, the app says the scan is now behind the disk and to press F5, instead of showing files where they no longer are.

New: the Optimize section

Three panels, and they share a door on purpose: they are the only parts of Vacuon that write to your machine. Everything else reads.

AI components. Shows the state of each Microsoft AI component, how much memory it is using right now, and turns off the ones Microsoft documents a control for. Cost is measured, never estimated — zero is an answer, and the panel says "nothing running now" instead of implying a saving. Every write is read back, because "I wrote it" and "it is there" are different claims and only the second is shown. Undo restores from the journal rather than writing the value "on": deleting a value Vacuon created is not the same as setting it to zero. Nothing from third parties is in the catalog, and there is a test that keeps it that way.

Startup. Shows what Windows launches when you sign in and disables entries without deleting them, using the same control Task Manager uses. Entries pointing at a file that no longer exists are flagged.

Memory. This one is deliberately not a RAM cleaner, and the panel explains why. EmptyWorkingSet pushes pages to standby or the pagefile and they come back from disk the moment a program touches them, so on a machine that is not short of memory it usually makes things slower.

  • It sorts by private memory, not working set. Working set counts a shared page once per process, so summing it across Opera's 54 children reports more memory than the machine has. Both figures are on the row, labelled.
  • The trim button exists, and its result is reported as moved, never freed — and MovedBytes can be negative when Windows pulls pages back, which the interface shows rather than hides.
  • Memory Compression gets its own line instead of sitting in the consumer list: it is the largest working set on the machine with almost no private memory, and the first target of any cleaner. Attacking it trades fast RAM for disk reads.
  • Closing a program from the list does free memory, so there the word is honest — and it reports two numbers, what the process held and how much available memory actually rose, because they rarely match.

Measured on the development machine: 31.8 GiB total, 20.0 in use, Opera holding 10.1 GiB private; the trim moved 2.0 GiB, and the sentence beside it explains where they went.

Deleting and selecting

  • Fixed a visual bug: what you deleted stayed in the list and in the tree, and came back on the next search.
  • Selection survives changing folder, sorting and searching, with a tick column and select all / invert / clear.
  • Search gains a checkbox for only inside the selected folder, and one for include folders — search now finds a folder by name.
  • Columns sort by name, size, date and path.
  • The Recycle Bin stops saying "freed" for what was only moved there, and shows how much is waiting.
  • A selected folder now adds up everything inside it instead of reporting zero.
  • Fixed 1 items deleted and 1 folders in the singular.

Command line and housekeeping

  • vacuon ai and vacuon startup, both read-only.
  • winget install vacuon is the documented route.
  • The README stops implying winget hands you the CLI. It hands you the window: the manifest ships the GUI with Commands: [vacuon].
  • It also stops implying the app lands in the Start menu. It does not: InstallerType: portable stores the executable and puts vacuon on your PATH, and portable packages get no Start menu entry — that is winget's behaviour for every portable package, not a failed install. The README now says so, and how to open it.
  • The version is now the same number in the assembly and in the code, with a test that compares them. AppInfo read 0.3.2 while the file properties Windows shows read 0.3.1.0, and the test that was supposed to guard this only checked the format — so it passed while the two disagreed.

Verified in this release

  • 263 tests, run on every commit.
  • Both binaries run standalone, copied out of the build tree into an empty folder — the check that caught the 0.3.1 near-miss where WPF's native libraries sat loose beside the executable.
  • The published binary is the tested binary: the SHA256 above is the file that was installed through winget and run on the development machine.