Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Bad Peggy

Bad Peggy scans JPEG and other image formats for damage and other blemishes and shows the results and images instantly. It allows you to find such broken files quickly, inspect and then either delete or move them to a different location.

Implemented in Java 17 and SWT. Runs on Windows, MacOS and Linux.


Everything is managed by Maven, to build things in one step simply type


Under Windows you may need to install MSYS to run such shell commands.

The preferred development environment is Visual Studio Code - it automatically does the Maven build in the background on every code change. There also are launchers to either just run/debug the code or the fully packaged JAR files, as well as tasks to do the building processes.

To run the tests (this can take a while):

mvn test

Since SWT drives the UI you need to adjust the .mvn/local-settings.xml file to declare the platform you're working on.

Sometimes thing might get stuck. In such a case try to

  • remove the ./target and ./ship folders
  • delete the ~/.swt folder in your home directory
  • under Java Projects (same place than the folder view, on the bottom) click [...] and then Clean Workspace


Set the latest version in a variety of places and rebuild:

./ 1.2.3

Acquire and prepare the JRE binaries:


This downloads all JREs for all the supported platforms and also optimizes them for shipping.

Then run the shell scripts with that version number of the release:

./ 1.2.3
./ 1.2.3

The final packaged material can then be found in the ./ship folder.