J'ai réussi à changer le moteur de recherche par défaut de Bing à DuckDuckGo dans Thunderbird 52.4.0 avec une solution de contournement extrêmement compliquée. Je n’aimais pas les préréglages de Thunderbird, alors j’ai choisi DuckDuckGo parce que même si je ne voulais jamais faire de recherche à partir de Thunderbird, si je fais une recherche accidentelle, je préfèrerais utiliser un moteur de recherche qui ne me suivrait pas.
Pour cela, vous aurez besoin d'une instance de Firefox avec le moteur de recherche DuckDuckGo (j'ai utilisé Firefox 58.0.1). J'utiliserai [TB profile]
pour faire référence à votre répertoire de profil utilisateur Thunderbird, [FF profile]
pour faire référence à votre répertoire de profil utilisateur Firefox et [FF app]
pour faire référence à votre dossier d'application Firefox.
Premièrement, nous voulons localiser le fichier ddg.xml
que nous utiliserons pour l'option de recherche Thunderbird. Si vous avez installé ce plugin vous-même, vous pouvez le trouver dans le répertoire [FF profile]/searchplugins/
. Sinon, vous pouvez le trouver dans l'archive [FF app]/browser/omni.ja
. Pour le trouver, décompressez l'archive omni.ja
dans un emplacement temporaire unzip omni.ja
(à l'aide de l'utilitaire Info-ZIP; 7-Zip et les autres outils ne prennent pas en charge la méthode ZIP utilisée par Firefox). Ensuite, dans cet emplacement temporaire, recherchez le fichier ddg.xml
( find -iname ddg.xml
), peut-être à ./chrome/en-US/locale/browser/searchplugins/ddg.xml
, en fonction de vos paramètres régionaux. Une fois ddg.xml
localisé, copiez-le dans votre répertoire [TB profile]/searchplugins/
.
Ensuite, nous voulons utiliser les paramètres de recherche de Firefox, mais modifiez-les légèrement. Firefox et Thunderbird compressent désormais leurs paramètres pour la performance, mais cela rend l'extraction et l'édition de ces paramètres beaucoup plus difficiles. Pour ouvrir un fichier de paramètres compressés Mozilla, vous pouvez utiliser le code suivant dans la console de votre navigateur ( Ctrl+Shift+J
pour moi):
var { classes: Cc, interfaces: Ci, utils: Cu} = Components;
function decompressFile(oFilePath, nFilePath) {
Cu.import("resource://gre/modules/Task.jsm");
Cu.import("resource://gre/modules/osfile.jsm");
return Task.spawn(function*() {
var jsonString = yield OS.File.read(oFilePath, {
compression: "lz4"
});
yield OS.File.writeAtomic(nFilePath, jsonString);
})
}
// Set up file chooser
var fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
var fu = Cu.import("resource://gre/modules/FileUtils.jsm").FileUtils
fp.init(window, "Open File", Ci.nsIFilePicker.modeOpen);
fp.appendFilter("Bookmarks/Session (.jsonlz4)", "*.jsonlz4");
fp.appendFilter("Search Engines (.mozlz4)", "*.mozlz4");
fp.appendFilter("Add-ons Files (.lz4)", "*.lz4");
// Call file chooser
fp.open((aResult) => {
if (aResult == Ci.nsIFilePicker.returnOK) {
if (fp.file.exists() && fp.file.isFile() && fp.file.isReadable()) {
var oldfile = fp.file.path;
var newfile = oldfile + ".json"; // Construct output file name
try {
decompressFile(oldfile, newfile);
console.log("Saved as: \"" + newfile + "\"");
if (confirm("Open JSON file in a Firefox tab?")) {
var uri = "file:///" + newfile.replace(/\/g, "/");
window.open(uri, "_blank");
}
} catch (err) {
console.log(err);
}
}
}
});
Avec le code ci-dessus, vous voulez ouvrir le fichier [FF profile]/search.json.mozlz4
et il générera le fichier search.json.mozlz4.json
. Modifiez ce fichier JSON et, en supposant que vous en ayez imprimé le contenu, vous devez modifier la ligne pour la variable _loadPath
de DuckDuckGo, qui ressemblera à ceci:
"_loadPath":"jar:[app]/omni.ja!browser/ddg.xml",
Vous souhaitez modifier cette variable pour qu'elle pointe vers l'emplacement dans votre profil Thunderbird où vous avez copié le fichier de plug-in (dans ce cas, laissez [profile]
comme [profile]
; Thunderbird interprétera cela comme votre dossier [TB profile]
) :
"_loadPath":"[profile]/searchplugins/ddg.xml",
À ce stade, vérifiez que vous avez quitté votre instance Thunderbird et copiez ce fichier dans [TB profile]/search.json
. Supprimez votre fichier [TB profile]/search.json.mozlz4
existant, puis redémarrez Thunderbird. Thunderbird devrait compresser votre fichier pour vous et afficher DuckDuckGo comme une option sélectionnable dans votre paramètre Options > General > Default Search Engine
.
En résumé, suivez les étapes suivantes:
- Copiez le fichier
ddg.xml
de Firefox sur votre profil Thunderbird
- Décompressez et éditez votre fichier de paramètres
search.json.mozlz4
depuis Firefox pour cibler le plug-in de recherche dans Thunderbird, et utilisez ces nouveaux paramètres dans votre profil Thunderbird