Skip to content

Repository files navigation

Binity

Your Recycle Bin, within reach.

A small Windows tray utility to see, open, and empty your Recycle Bin.

English · Русский

Download Binity · Release notes · Report an issue

Windows 10 (1809+) / 11 · x64 release · Python + PyQt6

Binity tray menu, settings, double-click actions, confirmation and About dialog in English

Real v3.4.1 Qt widgets rendered from source with isolated example settings, arranged together for this overview. Arrows show submenu navigation. Native menu appearance can vary with Windows. No files were deleted to make this image.

Small icon. Everyday control.

Keep the Recycle Bin one click away while your desktop stays clear. Binity lives in the notification area, shows its size on hover, and lets you decide when to empty it.

At a glance On your terms
Five icon states based on file count and total size Confirm before emptying, enabled by default
Open or empty from the tray menu Choose the double-click action: open or empty
Overflow notifications when the configured size threshold is reached Windows startup and theme sync options
English and Russian interface Four sound choices: silent, Windows, paper crumple, or throw in trash
Built-in update checks and an installation prompt in the EXE build Optional one-pass overwrite with zeros or random data

The five icons are occupancy levels, not a percentage of disk capacity. Overflow notifications use a 15 GB threshold by default and are reminders; Binity does not empty the bin automatically.

Get started

  1. Download Binity.exe from the latest release and keep it in a folder where you want to run it. No installer or separate Python installation is needed.
  2. Launch it and find the bin icon in the Windows notification area; it may be under Show hidden icons. Binity has a tray menu rather than a main window.
  3. Right-click for actions and settings. The initial language is Russian: choose Настройки → Язык → Английский to switch to English. Double-click opens the Recycle Bin by default.

To run it at sign-in, enable Settings → Windows → Run with Windows. Keep the EXE at that location after enabling startup.

Before you empty the bin

Normal emptying uses the Windows Recycle Bin operation. Confirmation is enabled by default; emptying applies to the bin, not a selected file.

Secure delete is best effort. The optional modes attempt to overwrite accessible Recycle Bin file contents once before normal emptying, only for the current Windows user. Hard links, reparse points (including junctions), and inaccessible files or directories are skipped and reported as an incomplete overwrite. SSD/NVMe wear leveling, snapshots, and backups can preserve other copies, so this is not a guarantee of irrecoverability or a replacement for device sanitization. Overwriting also increases disk activity and takes longer. Exit waits for active background work; an update is not applied during emptying.

Settings and updates

  • Settings: %APPDATA%\Binity\settings.json. Existing supported legacy settings are imported on first launch.
  • Crash log, if an unhandled error occurs: %LOCALAPPDATA%\Binity\crash.log.
  • Update staging and diagnostics: %LOCALAPPDATA%\Binity\updates\.
  • Packaged builds check GitHub Releases at launch and periodically when auto-checks are enabled; automatic checks respect skipped versions. Downloads and installation require an update prompt to be accepted. A manual check is always available in the tray menu and can rediscover a skipped version.
  • Download checks validate size, the EXE header, and the GitHub-provided SHA-256 digest when the release API provides one; this is still not publisher-signature verification.
  • Version 3.3.10 checks destination write access before exiting, replaces the EXE at its existing path, and restores the backup if the new process exits before confirming startup. A still-running process is not killed on a startup timeout; files are retained for diagnosis. There is no separate launcher or .NET runtime.

Run from source

Use Windows 10 version 1809 or newer, Windows 11, and Python 3.10+. The current Qt 6 build is x64; Windows 7, Windows 8.1, 32-bit Windows, and ARM64EC are not supported by this release. The pinned build below was verified on Windows 11 x64 with CPython 3.13.3.

git clone https://github.com/Volfheim/Binity.git
cd Binity
py -3 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
.\.venv\Scripts\python.exe main.py

Running from source starts the real tray utility. Settings are stored in the paths above.

Test and build

From the repository root, install the pinned build dependencies into a fresh virtual environment, then run the tests and build:

py -3.13 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements-build.txt
.\.venv\Scripts\python.exe -m unittest discover -s tests -v
.\.venv\Scripts\python.exe -m PyInstaller --clean --noconfirm Binity.spec

The result is dist\Binity.exe, with icons, both WAV sounds, and Windows version metadata included. This is a local unsigned build; the spec does not publish releases, access credentials, or change versions. Matching dependencies make the process repeatable, but byte-identical EXEs are not promised.

The tests use temporary settings and controlled OS/network boundaries. On Windows they also execute the PowerShell update helper against isolated fixtures, covering Unicode paths, process waiting, failed startup, and rollback. They never empty your Recycle Bin and do not replace a packaged-EXE integration check.

For an opt-in packaged check, run .\.venv\Scripts\python.exe tests/packaged_update_smoke.py --candidate dist/Binity.exe. It builds a separate one-file test driver using the unchanged v3.3.7 updater source and the current updater, serves the candidate over loopback, and verifies startup at the original path with isolated settings. It does not automate the old application's UI or touch your running copy. Test artifacts stay under build/.

release_helper.py is retired and only displays a notice: it does not build, read credentials, or modify releases or tags. Use the spec above for local builds.

Feedback and license

For bugs, include your Windows version, Binity version, steps to reproduce, and the relevant log excerpt in Issues. Remove personal paths and data before sharing logs.

By Volfheim. Inspired by MiniBin, by Mike Edward Moras; Binity is a separate implementation using Python, PyQt6, and Windows APIs.

Licensed under the Volfheim Non-Commercial License v1.0. Personal, non-commercial use is permitted; commercial use, modification, and redistribution require the author's prior written permission. See the full license for its terms.

About

Windows Recycle Bin utility: tray controls, occupancy indicators, themes and optional best-effort overwrite before clearing.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages