Consegui mudar o mecanismo de pesquisa padrão do Bing para o DuckDuckGo no Thunderbird 52.4.0 com uma solução extremamente complicada. Como não gostava de nenhuma das predefinições do Thunderbird, escolhi o DuckDuckGo porque, embora nunca queira pesquisar no Thunderbird, se faço uma pesquisa acidental, prefiro usar um mecanismo de pesquisa que promete não me rastrear.
Para isso, você precisará de uma instância do Firefox com o mecanismo de pesquisa DuckDuckGo (usei o Firefox 58.0.1). Utilizarei [TB profile]
para me referir ao diretório de perfil de usuário do Thunderbird, [FF profile]
ao diretório de perfil de usuário do Firefox e [FF app]
à pasta de aplicativos do Firefox.
Primeiro, queremos localizar o ddg.xml
arquivo que usaremos para a opção de pesquisa do Thunderbird. Se você instalou este plugin, poderá encontrá-lo no [FF profile]/searchplugins/
diretório Caso contrário, você pode encontrá-lo dentro do [FF app]/browser/omni.ja
arquivo morto. Para encontrá-lo, descompacte o omni.ja
arquivo morto em um local temporário unzip omni.ja
(usando o utilitário Info-ZIP; o 7-Zip e outras ferramentas não suportam o método ZIP que o Firefox usa). Em seguida, nesse local temporário, encontre o ddg.xml
arquivo ( find -iname ddg.xml
), talvez em ./chrome/en-US/locale/browser/searchplugins/ddg.xml
, dependendo da sua localidade. Depois de localizado ddg.xml
, copie-o para o seu [TB profile]/searchplugins/
diretório.
Em seguida, queremos usar as configurações de pesquisa do Firefox, mas modificá-las um pouco. Agora, o Firefox e o Thunderbird compactam suas configurações de desempenho, mas isso torna muito mais difícil extrair e editar essas configurações. Para abrir um arquivo de configurações compactadas do Mozilla, você pode usar o seguinte código no console do navegador ( Ctrl+Shift+J
para mim):
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);
}
}
}
});
Com o código acima, você deseja abrir o [FF profile]/search.json.mozlz4
arquivo e ele irá gerar o arquivo search.json.mozlz4.json
. Edite esse arquivo JSON e, assumindo que você imprimiu bastante o conteúdo, você deseja editar a linha da _loadPath
variável do DuckDuckGo , que será semelhante à seguinte:
"_loadPath":"jar:[app]/omni.ja!browser/ddg.xml",
Você deseja alterar essa variável para apontar para o local no seu perfil do Thunderbird onde você copiou o arquivo de plug-in (e, nesse caso, deixe [profile]
como [profile]
; o Thunderbird interpretará isso como sua [TB profile]
pasta):
"_loadPath":"[profile]/searchplugins/ddg.xml",
Neste ponto, verifique se você saiu da instância do Thunderbird e copie esse arquivo para [TB profile]/search.json
. Remova o [TB profile]/search.json.mozlz4
arquivo existente e inicie o Thunderbird novamente. O Thunderbird deve compactar seu arquivo para você e agora mostra o DuckDuckGo como uma opção selecionável na sua Options > General > Default Search Engine
configuração.
Em resumo, execute as seguintes etapas:
- Copie o
ddg.xml
arquivo do Firefox para o seu perfil Thunderbird
- Descompacte e edite seu
search.json.mozlz4
arquivo de configurações do Firefox para direcionar o plug-in de pesquisa no Thunderbird e use essas novas configurações no seu perfil do Thunderbird