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.
Dans about:config
définir les préférences.
browser.sessionstore.warnOnQuit true
browser.warnOnQuit true
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).
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
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,
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
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.
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.
about:support
dans la barre d'adresse.chrome
chrome
, créez les nouveaux fichiers userChrome.css
et userChrome.xml
avec le contenu indiqué ci-dessous./* 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");
}
<?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>
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".
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.
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.
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.