Разработчикам
Сборка, расширение и участие
Sally — свободное ПО под GNU GPL версии 2 или более поздней, открыто разрабатываемое на GitHub. Здесь описано, как его собрать, расширить и предложить изменения.
Сборка из исходников
Visual Studio 2022, Windows 11 SDK и CMake. Одна команда собирает Sally и все модули со всеми встроенными языками.
СборкаНаписать модуль
Добавляйте архивные форматы, файловые системы, просмотрщики или команды через интерфейс модулей, начав с демонстрационных модулей.
МодулиСценарии для Sally
Автоматизируйте повторяющиеся действия на JScript, VBScript или других языках Windows Script Host.
СценарииУчастие
Исправьте ошибку, улучшите перевод или сообщите о проблеме.
УчастиеСборка из исходников
Нужна Visual Studio 2022 с компонентами Desktop development with C++ и Windows 11 SDK версии 10.0.26100 или новее.
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
Готовая программа появляется в build/out/sally/<Config>_<Arch>/. После каждой сборки снова выполняйте populate, чтобы модули рядом с sally.exe ей соответствовали. Предустановки CMake охватывают x64, ARM64 и кросс-компиляцию clang-cl; руководство разработчика описывает структуру репозитория, цели сборки и стиль кода.
Написать модуль
Модули — это DLL, которые Sally загружает по запросу. Интерфейс расположен в src/plugins/shared/spl_*.h: точка входа регистрирует функции модуля, например архиватор (spl_arc.h), файловую систему панелей (spl_fs.h), просмотрщик, команды меню (spl_menu.h) или миниатюры (spl_thum.h), а Sally взаимодействует через общие, графические и файловые сервисы (spl_gen.h, spl_gui.h, spl_file.h).
- Начните с демонстрации:
src/plugins/demoplugиспользует большинство интерфейсов,demomenuпоказывает расширение меню,demoview— просмотрщик. - Изучите настоящий модуль: все включенные модули находятся в
src/plugins, от небольшогоchecksumдоftpиzip. - Версия SDK модулей: с Sally 1.0.33 загружаются только модули для текущего SDK (109). Модули для Altap Salamander 4.0 и старых версий Sally нужно пересобрать с текущими заголовками.
Сценарии для Sally
Модуль Automation выполняет сценарии Windows Script Host с доступом к панелям, выделению, окнам прогресса и простым формам. Руководство описывает объектную модель и включает примеры сценариев.
Участие
- Код: откройте pull request на GitHub. Проще всего проверять небольшие целевые изменения с ясным описанием проблемы.
- Переводы: каждый язык — обычный файл ресурсов, встроенный в Sally:
src/lang/<language>/lang.rcдля Sally иsrc/plugins/<plugin>/lang/<language>/lang.rcдля каждого модуля. Измените текст, сохранив все идентификаторы, стили и элементы в том же порядке, что в английском файле, и откройте pull request либо сообщите о неверном переводе через issue. В руководстве разработчика описано добавление языка. - Финансирование: пожертвования через PayPal или Buy Me a Coffee оплачивают время разработки.
- Сообщения об ошибках: опишите проблему и шаги воспроизведения в Issues. Укажите версию Sally и Windows.
- Руководство: сообщайте об ошибочных или отсутствующих страницах в Issues. Исходники опубликованы как manual/source.zip.