web-dev-qa-db-fra.com

Comment désactiver le raccourci clavier Ctrl + Q dans Firefox sous Linux

Depuis Firefox 57, il n’ya aucun moyen de désactiver Ctrl+Q raccourci par plugin sur Linux (voir ce bogue ). Toutes les solutions de contournement que j'ai trouvées sont basées sur la définition du paramètre global. Ctrl+Q raccourci pour "voler" de Firefox. Mais cela va désactiver ce raccourci dans chaque application, et je veux le désactiver uniquement dans Firefox, sans affecter aucune autre application.

Existe-t-il un moyen de désactiver ou d’attraper un raccourci pour une seule application? J'utilise Ubuntu avec Unity.

37
rob006

Dans about:config définir les préférences.

Firefox> = 65

browser.sessionstore.warnOnQuit true
browser.warnOnQuit true

 enter image description here

La source

Firefox plus ancien

browser.showQuitWarning true
browser.warnOnQuit true

Testé dans toutes les versions que j'ai rencontrées, j'ai rencontré 61.0.2-64.0.2 sur Linux 64 bits (et le canal 60esr sur Win10).  screenshot

25
CrazyPyro

tl/dr: assigne un raccourci global à Ctrl-Q

Dans Firefox Quantum, les paramètres about:config utilisés pour prévenir les fermetures de Firefox via une pression accidentelle sur Ctrl-Q ne fonctionnent plus.

Solution de contournement: sur Arch Linux | Environnement de bureau XFCE (d'autres distributions et/ou ordinateurs de bureau Linux peuvent permettre une approche similaire):

  • Menu Moustaches >> Tous les paramètres >> Clavier >> Raccourcis d'applications >> Ajouter

  • Ajouter une nouvelle "application", null; l'assigner à la touche Ctrl-Q

    • Mise à jour (commentaire de @justderb): "Utiliser" true "au lieu de" null "est pratique si vous ne voulez pas que la fenêtre d'erreur apparaisse."

 Firefox - 'disable' Ctrl-Q

Invocation: ici, j'ai appuyé sur Ctrl-Q dans Firefox Quantum v. 60.0.1 (64 bits); au lieu de quitter Firefox, je reçois ce popup,

 Firefox - Ctrl-Q 'disabled'

Avertissement: ceci, bien sûr, affecte globalement toutes les touches du clavier Ctrl-Q. Cependant, à ma préférence, cette lacune est compensée par l'annulation de ces fermetures accidentelles de Firefox Ctrl-Q (après quoi je dois me reconnecter à des sites Web: GitHub; reddit; ...).

Mise à jour

La réponse de @crazypyro fonctionne également pour moi (FF Quantum 63.0 sur x86_64 Linux), émettant un avertissement contextuel si vous essayez de quitter Firefox. Cela devrait probablement être considéré comme la réponse spécifique, avec ma solution comme une solution de contournement plus générale.

about:config (les deux valeurs suivantes sont définies sur true):

  • browser.showQuitWarning
  • browser.warnOnQuit
12
Victoria Stuart

Désactiver Ctrl + q avec userChrome.js dans Firefox Quantum

Ceci peut être accompli sans application externe avec un peu de javascript dans votre profil Firefox.

Avant de commencer, vous devez activer userChrome.js (voir ci-dessous ou obtenir du référentiel GitHub d'origine ).

Après avoir copié le répertoire chrome et son contenu dans votre profil utilisateur, créez un fichier <profile-dir>/chrome/disable_ctrl_q.uc.js avec le contenu suivant:

var kqa = document.getElementById('key_quitApplication');
if (kqa) kqa.remove();

Enfin, redémarrez Firefox et ctrl + q ne fera plus quitter l’application.


Activation de userChrome.js dans Firefox Quantum

Pour être complet, vous trouverez ci-dessous le contenu intégral des fichiers chrome modifiés. Pour activer javascript userChrome, créez ces deux fichiers dans un répertoire chrome de votre profil Firefox.

  1. Tapez about:support dans la barre d'adresse.
  2. Sous Bases de l'application> Répertoire de profil cliquez sur le bouton Open Directory pour ouvrir votre répertoire de profil Firefox.
  3. Dans le répertoire du profil, créez un nouveau répertoire appelé chrome
  4. Dans le répertoire chrome, créez les nouveaux fichiers userChrome.css et userChrome.xml avec le contenu indiqué ci-dessous.
  5. Redémarrez Firefox (vous voudrez probablement aussi créer le fichier .uc.js ci-dessus si vous suivez ces étapes pour désactiver 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>
5
thinkmassive

J'ai pu obtenir ce dont j'avais besoin avec AutoKey . Après l'installation, j'ai créé un script vide avec assigné Ctrl+Q en tant que "Hotkey" et .*Firefox en tant que "Filtre de fenêtre".

enter image description here

Puis, dans les préférences AutoKey, je l'ai ajouté à l'icône de notification de démarrage automatique et désactivé, afin qu'il devienne transparent pour moi.

enter image description here

Je l'ai utilisé pendant quelques heures et cela semble prometteur - pas de faux-positifs ni de prises manquées jusqu'à présent. Maintenant Ctrl+Q ne fonctionne pas pour Firefox, mais cela fonctionne parfaitement dans PhpStorm par exemple.


De plus, bug 1215061 laisse espérer que cela sera plus facile à l'avenir et que Firefox obtiendra enfin de bons paramètres de raccourcis clavier.

2
rob006

Une solution de contournement laide, mais simple et efficace consiste à garder une page ouverte comportant un gestionnaire onbeforeunload actif, ce qui déclenchera le message "Cette page vous demande de confirmer que vous souhaitez partir - les données que vous avez saisies peuvent ne pas être enregistrées." dialogue lorsque vous essayez de le fermer.

Ainsi, si vous essayez accidentellement de CTRL + Q, vous recevrez cette boîte de dialogue et pourrez choisir "rester sur cette page" pour annuler la sortie.

Edit: Page personnalisée que j'ai faite juste à cet effet

2
Jan Schejbal