ceci s'adresse à ceux qui souhaitent apporter de petites modifications à KompoZer, ou aux développeurs qui souhaitent contribuer des rustines de code (patches).
Pré-requis :
- connaissance et pratique de JavaScript et CSS ; pour les interfaces, il sera nécessaire de se familiariser avec XUL : http://xulfr.org/xulplanet/xultu/
- les scripts 'ChromeUtils' :
- un bon éditeur texte : les développeurs utiliseront le leur, pour les autres je recommande vivement les éditeurs basés sur Scintilla : Scite, Notepad++, Geany, ...
Mise en oeuvre :
- dézipper 'ChromeUtils' dans le répertoire de KompoZer.
Attention : vous devez avoir des droits en écriture dans ce répertoire ! Sous Windows™ c'est vrai pour les 99% d'utilisateurs qui utilisent cet OS avec un compte administateur (au mépris de la plus élémentaire des règles de sécurité, jdcjdr), sous Linux c'est le contraire. Je recommande dans ce cas de télécharger une version ZIP ou TGZ de KompoZer et de la dézipper dans son répertoire "Documents". - un dossier 'chrome.utils' a été créé dans le répertoire de KompoZer. Pour l'instant il ne contient qu'un README et deux scripts : compare et flatten. Sous Windows™ j'ai ajouté un dossier 'wbin' qui contient 7-zip et les utilitaires GNU nécessaires.
- lancer 'flatten' (.sh sous Linux, .bat sous Windows™) :
- le répertoire 'chrome' est archivé en 'chrome.orig' ;
- les fichiers JAR du répertoire 'chrome' sont mis à plat : à la place de chaque fichier JAR, il y a désormais un dossier éponyme contenant des fichiers *.xul, *.js et *.css, le tout bien rangé dans trois dossiers :
- content : le code et l'interface graphique (*.js, *.xul)
- locale : les chaînes localisées (*.dtd, *.properties)
- skin : les styles appliqués au(x) thème(s) installé(s) (images + *.css)
- KompoZer utilisera désormais ces fichiers mis à plat, il sera même probablement un peu plus rapide sur les PC modestes.
- on peut donc modifier ces fichiers xul/js/css avec un éditeur texte et relancer KompoZer pour voir les changements. La plupart des choses intéressantes sont dans 'chrome/content/editor'.
- Vous avez fait une modification dont vous êtes fier ? Lancez le script 'compare' ! Cela va générer une rustine de code (patch) que vous pourrez proposer ici ou m'envoyer par mail. Accessoirement cette rustine sera une sauvegarde de votre travail.
- Vous avez cassé KompoZer ? Rien de grave, il suffit de supprimer le dossier 'chrome', de renommer 'chrome.orig' en 'chrome'... et de relancer 'flatten' pour ré-essayer.
À vos éditeurs !

Edit : s/comm/chrome/