Developers

Build, extend and contribute

Sally is free software under the GNU GPL version 2 or later, developed in the open on GitHub. Here is how to build it, extend it and send changes back.

Build from source

You need Visual Studio 2022 with the Desktop development with C++ workload and the Windows 11 SDK 10.0.26100 or newer.

git clone https://github.com/0xeb/sally.git
cd sally
cmake -S . -B build
cmake --build build --config RelWithDebInfo
cmake --build build --config RelWithDebInfo --target populate

The runnable program lands in build/out/sally/<Config>_<Arch>/. Run populate again after each build so the plugins and language files next to sally.exe match it. CMake presets cover x64, ARM64 and clang-cl cross-compilation; the developer guide describes the repository layout, the targets and the code style.

Write a plugin

Plugins are DLLs that Sally loads on demand. The interface lives in src/plugins/shared/spl_*.h: an entry point registers what the plugin provides, such as an archiver (spl_arc.h), a file system for the panels (spl_fs.h), a viewer, menu commands (spl_menu.h) or thumbnails (spl_thum.h), and Sally calls back through general, GUI and file services (spl_gen.h, spl_gui.h, spl_file.h).

Script Sally

The Automation plugin runs Windows Script Host scripts with access to the panels, the selection, progress windows and simple forms. Its manual documents the object model and ships sample scripts.

Contribute