Kleopatra permet à l'administrateur (et à l'utilisateur doté de privilèges) de configurer la liste des gestionnaires d'archives qui sont présentés dans la boite de dialogue Signer/chiffrer des fichiers.
Chaque gestionnaire d'archives est définit dans libkleopatrarc comme un groupe d'Archive Definition # séparé, avec les clés obligatoires suivantes : n
extensionsUne liste d'extensions de nom de fichiers séparés par des virgules qui indique généralement ce format d'archive.
idUn identifiant unique pour identifier ce gestionnaire d'archives en interne. Si vous n'êtes pas sûr, utilisez le nom de la commande.
Name(traduit)Le nom d'utilisateur visible de ce gestionnaire d'archives, comme affiché dans le menu déroulant de la boite de dialogue Signer/Chiffrer des fichiers.
pack-commandLa commande actuelle pour archiver des fichiers. Vous pouvez utiliser n'importe quelle commande, tant qu'aucun shell n'est requis pour l'exécuter. Le fichier du programme est recherché en utilisant la variable d'environnement
PATH, à moins que vous n'utilisiez un emplacement de fichier absolu. La citation est prise en charge comme si un shell était utilisé :pack-command="/opt/ZIP v2.32/bin/zip" -r -
Note
Depuis que l'anti-slash (\) est un caractère d'échappement dans les fichiers de configuration de KDE, vous devez les doubler lors de leurs apparitions dans les noms d'emplacement :
pack-command=C:\\Programs\\GNU\\tar\\gtar.exe ...
. Toutefois, pour la commande en elle-même (Par opposition à ses arguments), vous pourriez peut-être utilisez simplement des slashes (/) comme séparateur d'emplacement sur toutes les plate-formes :
pack-command=C:/Programs/GNU/tar/gtar.exe ...
. Ceci n'est pas pris en charge dans les arguments comme la plupart des programmes sous Windows® utilise le slash pour les options. Par exemple, la commande suivante ne fonctionnera pas puisque C:/myarchivescript.bat est un argument de cmd.exe et / n'est pas converti en \ dans les arguments, uniquement les commandes :
pack-command=cmd.exe C:/myarchivescript.bat
. Celle-ci doit plutôt être écrite comme ci :
pack-command=cmd.exe C:\\myarchivescript.bat
Il y a trois façons de passer des nom de fichiers à la commande de compression. Pour chacune d'elles, pack-command prévoie une syntaxe particulière :
Comme argument de la ligne de commande.
Exemple (tar) :
pack-command=tar cf -
Exemple (zip) :
pack-command=zip -r - %f
Dans ce cas, les noms de fichier sont passés dans la ligne de commande, comme ce que vous feriez en utilisant l'invite de commande. Kleopatra n'utilise pas un shell pour exécuter la commande. En conséquence, c'est un moyen sûr de passer des noms de fichier, mais il pourrait survenir des restrictions au sujet de la longueur de la ligne de commande sur certaines plate-formes. Un textuel
%f, si présent, est remplacé par le noms des fichiers à archiver. Sinon, les noms de fichiers sont ajoutés à la ligne de commande. Ainsi, l'exemple zip ci-dessus pourrait aussi s'écrire comme ceci :pack-command=zip -r -
Via l'entrée standard, séparé par des sauts de ligne : prepend
|.Exemple (Archive « tar » de GNU) :
pack-command=|gtar cf - -T-
. Exemple (ZIP) :
pack-command=|zip -@ -
. Dans ce cas, les noms de fichiers sont passés au gestionnaire d'archives sur stdin, un par ligne. Ceci évite les problèmes sur les plates-formes définissant une limite basse au nombre d'arguments des lignes de commandes autorisés. Mais, cela ne fonctionne pas lorsque les noms de fichiers contiennent des retours à la ligne.
Note
Kleopatra gère actuellement seulement LF comme séparateur de saut de ligne, et non CRLF. Cela pourrait changer dans de futures versions, en s'appuyant sur les retours utilisateurs.
Via l'entrée standard, séparé par des octets NUL : prepend
0|.Exemple (Archive « tar » de GNU) :
pack-command=0|gtar cf - -T- --null
. Celui-ci est le même que ci-dessus, excepté que les octets « NULL » sont utilisés pour séparer les noms de fichiers. Depuis que les octets « NULL » sont interdits dans les noms de fichiers, ceci est la façon la plus robuste pour transmettre des noms de fichier, mais tous les gestionnaires d'archives ne le gèrent pas.