Développeurs
Compiler, étendre et contribuer
Sally est un logiciel libre sous licence GNU GPL version 2 ou ultérieure, développé publiquement sur GitHub. Voici comment le compiler, l’étendre et proposer vos modifications.
Compiler à partir des sources
Visual Studio 2022, le SDK Windows 11 et CMake. Une seule commande compile Sally et tous les plugins, avec toutes les langues intégrées.
CompilationÉcrire un plugin
Ajoutez des formats d’archives, des systèmes de fichiers, des visionneuses ou des commandes via l’interface des plugins, en partant des plugins de démonstration.
PluginsCréer des scripts pour Sally
Automatisez les tâches répétitives avec JScript, VBScript ou d’autres langages de Windows Script Host.
ScriptsContribuer
Corrigez un bogue, améliorez une traduction ou signalez un problème.
ContribuerCompiler à partir des sources
Vous avez besoin de Visual Studio 2022 avec la charge de travail Développement Desktop en C++ et du SDK Windows 11 10.0.26100 ou ultérieur.
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
Le programme exécutable se trouve dans build/out/sally/<Config>_<Arch>/. Relancez populate après chaque compilation pour que les plugins à côté de sally.exe correspondent. Les préréglages CMake couvrent x64, ARM64 et la compilation croisée clang-cl ; le guide du développeur décrit l’organisation du dépôt, les cibles et le style du code.
Écrire un plugin
Les plugins sont des DLL que Sally charge à la demande. L’interface se trouve dans src/plugins/shared/spl_*.h : un point d’entrée enregistre ce que propose le plugin, par exemple un archiveur (spl_arc.h), un système de fichiers pour les panneaux (spl_fs.h), une visionneuse, des commandes de menu (spl_menu.h) ou des miniatures (spl_thum.h), et Sally fournit en retour des services généraux, graphiques et de fichiers (spl_gen.h, spl_gui.h, spl_file.h).
- Partez d’une démonstration :
src/plugins/demoplugutilise la plupart des interfaces,demomenumontre une extension de menu etdemoviewune visionneuse. - Étudiez un plugin réel : tous les plugins fournis se trouvent dans
src/plugins, du petitchecksumàftpetzip. - Version du SDK des plugins : depuis Sally 1.0.33, seuls les plugins compilés pour le SDK actuel (109) se chargent. Ceux écrits pour Altap Salamander 4.0 ou d’anciennes versions de Sally doivent être recompilés avec les en-têtes actuels.
Créer des scripts pour Sally
Le plugin Automation exécute des scripts Windows Script Host donnant accès aux panneaux, à la sélection, aux fenêtres de progression et aux formulaires simples. Son manuel décrit le modèle objet et fournit des exemples de scripts.
Contribuer
- Code : ouvrez une demande de fusion sur GitHub. Les petites modifications ciblées, avec une description claire du problème, sont les plus faciles à examiner.
- Traductions : chaque langue est un fichier de ressources ordinaire intégré à Sally :
src/lang/<language>/lang.rcpour Sally etsrc/plugins/<plugin>/lang/<language>/lang.rcpour chaque plugin. Modifiez le texte en conservant chaque identifiant, style et contrôle dans le même ordre que le fichier anglais, puis ouvrez une demande de fusion, ou signalez une mauvaise traduction dans un ticket. Le guide du développeur explique comment ajouter une langue. - Financement : les dons via PayPal ou Buy Me a Coffee financent du temps de développement.
- Rapports de bogues : décrivez le problème et les étapes pour le reproduire dans Issues. Indiquez les versions de Sally et Windows.
- Le manuel : signalez une page erronée ou manquante dans Issues. Ses sources sont publiées dans manual/source.zip.