开发者
构建、扩展与贡献
Sally 是采用 GNU GPL 第 2 版或更新版本许可的自由软件,在 GitHub 上公开开发。以下介绍如何构建、扩展并提交变更。
从源代码构建
您需要安装 Visual Studio 2022,并包含使用 C++ 的桌面开发工作负载,以及版本为 10.0.26100 或更新的 Windows 11 SDK。
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 交叉编译;开发者指南介绍仓库布局、目标和代码风格。
编写插件
插件是由 Sally 按需加载的 DLL。接口位于 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 编写脚本
自动化插件运行 Windows Script Host 脚本,可访问面板、所选项目、进度窗口和简单表单。其手册介绍对象模型,并随附示例脚本。
参与贡献
- 代码:在 GitHub 上提交拉取请求。规模小、目标明确并清楚说明问题的变更最易审阅。
- 翻译:每种语言都是内置于 Sally 的普通资源文件:Sally 使用
src/lang/<language>/lang.rc,各插件使用src/plugins/<plugin>/lang/<language>/lang.rc。编辑文本时,请保持所有 ID、样式及控件与英文文件顺序一致,然后提交拉取请求,或通过问题报告错误译文。开发者指南介绍如何添加语言。 - 资金支持:通过 PayPal 或 Buy Me a Coffee 捐款,为开发时间提供资金。
- 错误报告:在 Issues 中说明问题和复现步骤,并附上您的 Sally 版本及 Windows 版本。
- 手册:在 Issues 中报告错误或缺失的页面。其源文件以 manual/source.zip 形式发布。