Desative Ctrl + q com userChrome.js no Firefox Quantum
Isso pode ser feito sem um aplicativo externo por um pequeno bit de javascript no seu perfil do Firefox.
Como pré-requisito, você deve ativar o userChrome.js (veja abaixo, ou obtenha no repositório original do GitHub )
Depois de copiar o diretório chrome e seu conteúdo em seu perfil de usuário, crie um arquivo <profile-dir>/chrome/disable_ctrl_q.uc.js
com o seguinte conteúdo:
var kqa = document.getElementById('key_quitApplication');
if (kqa) kqa.remove();
Por fim, reinicie o Firefox e ctrl + q não fará mais com que o aplicativo seja encerrado.
Ativando userChrome.js no Firefox Quantum
Para completar, abaixo estão os conteúdos completos dos arquivos chrome modificados. Para habilitar o javascript do userChrome, crie esses dois arquivos dentro de um diretório chrome
dentro do seu perfil do Firefox.
- Digite
about:support
na barra de endereço.
- Em Princípios básicos do aplicativo > Diretório de perfil clique no botão Abrir diretório para abrir o diretório de perfil do Firefox.
- Dentro do diretório do perfil, crie um novo diretório chamado
chrome
- No diretório
chrome
, crie novos arquivos userChrome.css
e userChrome.xml
com o conteúdo listado abaixo.
- Reinicie o Firefox (você provavelmente também deseja criar o arquivo .uc.js acima se estiver seguindo estas etapas para desativar ctrl + q)
userChrome.css
/* Copyright (c) 2017 Haggai Nuchi
Available for use under the MIT License:
https://opensource.org/licenses/MIT
*/
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
toolbarbutton#alltabs-button {
-moz-binding: url("userChrome.xml#js");
}
userChrome.xml
<?xml version="1.0"?>
<!-- Copyright (c) 2017 Haggai Nuchi
Available for use under the MIT License:
https://opensource.org/licenses/MIT
-->
<bindings id="generalBindings"
xmlns="http://www.mozilla.org/xbl"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:xbl="http://www.mozilla.org/xbl">
<binding id="js" extends="chrome://global/content/bindings/toolbarbutton.xml#menu">
<implementation>
<constructor><![CDATA[
function makeRelativePathURI(name) {
let absolutePath = Components.stack.filename;
return absolutePath.substring(0, absolutePath.lastIndexOf("/") + 1) + name;
}
// The following code executes in the browser context,
// i.e. chrome://browser/content/browser.xul
Services.scriptloader.loadSubScript(makeRelativePathURI("userChrome.js"), window);
]]></constructor>
</implementation>
</binding>
</bindings>