Como desativar o atalho Ctrl + Q no Firefox no Linux

18

Desde o Firefox 57 não há como desabilitar o atalho Ctrl + Q por plugin no Linux (veja este bug ). Todas as soluções alternativas encontradas são baseadas na configuração do atalho global Ctrl + Q para "roubá-lo" do Firefox. Mas isso desabilitará esse atalho em todos os aplicativos e eu quero desabilitar esse atalho somente no Firefox, sem afetar nenhum outro aplicativo.

Existe uma maneira de desabilitar ou capturar atalhos apenas para um aplicativo? Estou usando o Ubuntu com o Unity.

    
por rob006 29.04.2018 / 22:57

5 respostas

2

Consegui o que precisava com AutoKey . Após a instalação, criei um script vazio com Ctrl + Q como "Atalho" e .*Firefox como "Filtro de janelas".

Emseguida,naspreferênciasdaAutoKey,adicionei-aaoíconedeinícioautomáticoedenotificaçãodesativado,paraquefiquetransparenteparamim.

Euuseiporalgumashoraseparecepromissor-nãoháfalsospositivosoucapturasperdidasatéagora.Nomomento,oCtrl+QnãofuncionaparaoFirefox,masfuncionaperfeitamentenoPhpStorm,porexemplo.

Alémdisso,o erro 1215061 dá alguma esperança de que isso será mais fácil no futuro e o Firefox finalmente, obter algumas configurações de atalhos de teclado decentes.

    
por 30.04.2018 / 11:09
8

tl / dr: atribui um atalho global ao Ctrl-Q

No Firefox Quantum, o about:config settings que costumava avisar sobre o fechamento do Firefox através de uma tecla Ctrl-Q acidental não funciona mais.

Solução alternativa: no Arch Linux | Ambiente de desktop XFCE (outras distribuições e / ou desktops do Linux podem permitir uma abordagem semelhante):

  • menu de bigodes > > Todas as configurações > > Teclado > > Atalhos de aplicativos > > Adicionar

  • Adicione um novo "aplicativo", null ; atribua-o ao Ctrl-Q keypress

    • Atualização (comentário por @justderb): "Usar 'verdadeiro' em vez de 'nulo' é bom se você não quiser que a janela de erro apareça."

Invocação:aqui,pressioneiCtrl-QnoFirefoxQuantumv.60.0.1(64bits);emvezdesairdoFirefox,eureceboestepop-up,

Ressalva: isso, obviamente, afeta globalmente todos os pressionamentos de tecla Ctrl-Q. No entanto, - por minha própria preferência - essa falta é superada anulando os encerramentos acidentais do Firefox Ctrl-Q (depois disso eu preciso fazer o login novamente nos sites: GitHub; reddit; ...).

    
por 04.06.2018 / 00:14
4

Pelo menos para mim no FF 61.0.2 no Linux de 64 bits, ativando browser.showQuitWarning (além de browser.warnOnQuit ) em about:config para resolver todo esse problema.

(Eu cheguei a esta pergunta porque eu estava tendo o problema por padrão. Mas antes de tentar todos os truques criativos legais aqui, eu pensei em dar uma chance sobre o: config a first. .)

    
por 25.08.2018 / 21:50
1

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.

  1. Digite about:support na barra de endereço.
  2. 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.
  3. Dentro do diretório do perfil, crie um novo diretório chamado chrome
  4. No diretório chrome , crie novos arquivos userChrome.css e userChrome.xml com o conteúdo listado abaixo.
  5. 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>
    
por 11.08.2018 / 06:02
0

Uma solução simples, mas simples e eficaz, é sempre manter uma página aberta com um manipulador onbeforeunload ativo, ou seja, acionará a opção "Esta página está pedindo para você confirmar que deseja sair - os dados inseridos podem não ser salvo." diálogo quando você tenta fechá-lo.

Dessa forma, se você tentar acidentalmente CTRL + Q, receberá essa caixa de diálogo e poderá escolher "ficar nesta página" para cancelar a saída.

    
por 08.11.2018 / 02:14