Dans about:config
définir les préférences.
Firefox>=87
browser.quitShortcut.disabled true
https://bugzilla.mozilla.org/show_bug.cgi?id=52821
Firefox>=65
browser.sessionstore.warnOnQuit true
browser.warnOnQuit true
Source
Ancien Firefox
browser.showQuitWarning true
browser.warnOnQuit true
Testé dans toutes les versions, j'ai rencontré 61.0.2-64.0.2 sur Linux 64 bits (et le canal 60esr sur Win10).
tl/dr :attribuez un raccourci global à Ctrl-Q
Dans Firefox Quantum, le about:config
les paramètres qui servaient à avertir contre les fermetures de Firefox via une pression accidentelle sur la touche Ctrl-Q ne fonctionnent plus.
Solution : sur Arch Linux | Environnement de bureau XFCE (d'autres distributions et/ou bureaux Linux peuvent permettre une approche similaire) :
-
Menu Moustaches>> Tous les paramètres>> Clavier>> Raccourcis d'application>> Ajouter
-
Ajouter une nouvelle "application",
null
; affectez-le auCtrl-Q
touche enfoncée- Mise à jour (commentaire de @justderb) :"Utiliser 'true' au lieu de 'null' est pratique si vous ne voulez pas que la fenêtre d'erreur s'affiche."
Invocation : ici, j'ai appuyé sur Ctrl-Q
dans Firefox Quantum v. 60.0.1 (64 bits); au lieu de quitter Firefox, j'obtiens ce popup,
Mise en garde : ceci, bien sûr, affecte globalement toutes les touches Ctrl-Q. Cependant, - selon ma propre 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 aux sites Web :GitHub ; reddit ; ...).
Mise à jour 1
La réponse de @crazypyro fonctionne également pour moi (FF Quantum 63.0 sur x86_64 Linux) donnant un avertissement contextuel si vous essayez de quitter Firefox. Cela devrait probablement être considéré comme la réponse spécifique, ma solution étant une solution de contournement plus générale.
about:config
(les deux éléments suivants sont définis sur true
):
browser.showQuitWarning
browser.warnOnQuit
Mise à jour 2 [2020-03-01]
Pendant un certain temps, dans Vim, j'ai rencontré le problème occasionnel et frustrant où le terminal "se fige" et je perds le contrôle de la frappe de Vim (nécessitant que je tue/redémarre Vim).
Après quelques recherches, il s'avère que le problème est le contrôle de flux logiciel (contrôle de flux XON/XOFF). Ctrl-s
gèle le terminal jusqu'à Ctrl-q
est pressé - qui, selon ma solution présentée ci-dessus, est globalement remappé sur "l'application factice" true
.
La solution à ce problème consiste à ajouter les lignes
# enable Ctrl-s and Ctrl-q:
stty -ixon
près du haut de votre ~/.bashrc
, puis ouvrez un nouveau terminal et lancez Vim.
Liens pertinents/discussion :
- https://unix.stackexchange.com/questions/72086/ctrl-s-hang-terminal-emulator
- https://stackoverflow.com/questions/3419820/sometimes-my-file-just-freezes-in-my-vi-vim-what-happened
-
https://unix.stackexchange.com/questions/478532/why-is-vim-frozen
-
https://unix.stackexchange.com/questions/72086/ctrl-s-hang-terminal-emulator | ... Avant il y avait des claviers avec la touche d'arrêt du défilement
C-s
etC-q
étaient les vieux jours "scroll lock toggle". Vous pouvez désactiver cette fonctionnalité en ajoutantstty ixany
etstty ixoff -ixon
à votre ~/.bashrc [... et redémarrage du terminal]
Désactiver Ctrl+q avec userChrome.js dans Firefox Quantum
Cela peut être accompli sans application externe par un tout petit peu de javascript dans votre profil Firefox.
Comme condition préalable, vous devez activer userChrome.js (voir ci-dessous, ou obtenir à partir 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 provoquera plus la fermeture de l'application.
Activer userChrome.js dans Firefox Quantum
Pour être complet, voici le contenu complet des fichiers chrome modifiés. Pour activer userChrome javascript, créez ces deux fichiers dans un chrome
répertoire dans votre profil Firefox.
- Tapez
about:support
dans la barre d'adresse. - Sous Principes de base de l'application > Répertoire de profils cliquez sur Open Directory bouton pour ouvrir votre répertoire de profil Firefox.
- Dans le répertoire de profil, créez un nouveau répertoire appelé
chrome
- Dans le
chrome
répertoire, créer de nouveaux fichiersuserChrome.css
etuserChrome.xml
avec le contenu indiqué ci-dessous. - 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>