Consegui alterar o mecanismo de pesquisa padrão do Bing para o DuckDuckGo no Thunderbird 52.4.0 com uma solução extremamente complicada. Eu não gostei de nenhuma das predefinições do Thunderbird, então escolhi o DuckDuckGo porque, embora eu realmente não queira pesquisar no Thunderbird, se eu pesquisar acidentalmente, prefiro usar um mecanismo de pesquisa que prometa não me rastrear.
Para isso, você precisará de uma instância do Firefox com o mecanismo de busca DuckDuckGo (usei o Firefox 58.0.1). Vou usar [TB profile]
para se referir ao seu diretório de perfil de usuário do Thunderbird, [FF profile]
para se referir ao seu diretório de perfil de usuário do Firefox e [FF app]
para se referir à sua pasta de aplicativos do Firefox.
Primeiro, queremos localizar o arquivo ddg.xml
que usaremos na opção de pesquisa do Thunderbird. Se você instalou este plugin você mesmo, você pode encontrá-lo no diretório [FF profile]/searchplugins/
. Caso contrário, você pode encontrá-lo dentro do arquivo [FF app]/browser/omni.ja
. Para encontrá-lo, descompacte o omni.ja
archive 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, localize o arquivo ddg.xml
( find -iname ddg.xml
), talvez em ./chrome/en-US/locale/browser/searchplugins/ddg.xml
, dependendo da sua localidade. Depois de localizar ddg.xml
, copie-o para o diretório [TB profile]/searchplugins/
.
Então, queremos usar as configurações de pesquisa do Firefox, mas modificá-las um pouco. Tanto o Firefox quanto o Thunderbird agora compactam suas configurações de desempenho, mas isso torna a extração e a edição dessas configurações muito mais difíceis. Para abrir um arquivo de configurações compactadas do Mozilla, você pode usar o seguinte código no Console do seu 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 arquivo [FF profile]/search.json.mozlz4
e ele irá gerar o arquivo search.json.mozlz4.json
. Edite esse arquivo JSON e, supondo que você tenha impresso bastante o conteúdo, você deseja editar a linha da variável _loadPath
do DuckDuckGo, que terá a seguinte aparência:
"_loadPath":"jar:[app]/omni.ja!browser/ddg.xml",
Você deseja alterar essa variável para apontar para o local do perfil do Thunderbird no qual você copiou o arquivo do plug-in (e, neste caso, deixe [profile]
as [profile]
; o Thunderbird interpretará isso como sua pasta [TB profile]
) :
"_loadPath":"[profile]/searchplugins/ddg.xml",
Neste ponto, certifique-se de ter saído da instância do Thunderbird e copie esse arquivo para [TB profile]/search.json
. Remova o arquivo [TB profile]/search.json.mozlz4
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 configuração Options > General > Default Search Engine
.
Em resumo, siga os seguintes passos:
- Copie o arquivo
ddg.xml
do Firefox para seu perfil do Thunderbird
- Descompacte e edite seu arquivo
search.json.mozlz4
settings do Firefox para segmentar o plug-in de pesquisa no Thunderbird e use essas novas configurações em seu perfil do Thunderbird