Désactiver Ctrl+q avec userChrome.js dans Firefox Quantum
Ceci peut être réalisé sans application externe par un petit bout de javascript dans votre profil Firefox.
Comme condition préalable, vous devez activer userChrome.js (voir ci-dessous, ou l'obtenir à partir du site Web de la Commission européenne). repo GitHub original )
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 sortie de l'application.
Activer userChrome.js dans Firefox Quantum
Pour être complet, voici le contenu complet des fichiers chrome modifiés. Pour activer le javascript userChrome, créez ces deux fichiers à l'intérieur d'un fichier chrome
dans votre profil Firefox.
- Type
about:support
dans la barre d'adresse.
- Sous Principes de base des applications > Répertoire des profils cliquez sur le Open Directory pour ouvrir le répertoire de votre profil Firefox.
- Dans le répertoire du profil, créez un nouveau répertoire appelé
chrome
- Au sein de la
chrome
créer de nouveaux fichiers userChrome.css
y userChrome.xml
avec les contenus énumérés 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>
0 votes
Question intéressante, mais la réponse peut dépendre du cas d'utilisation. Appuis accidentels sur les touches ? Mode kiosque ?
5 votes
@l0b0 Appuis accidentels sur les touches. C'est un PC normal, rien d'extraordinaire.
0 votes
Dans ce cas, avez-vous plus de détails ? Je vérifie juste s'il existe un moyen de configurer le système pour qu'il fasse ce que vous voulez™, comme sauvegarder les onglets lorsque vous quittez, pour éviter quelque chose qui, je le soupçonne, sera un hack fragile.
8 votes
@l0b0 Je veux empêcher la fermeture du navigateur par des pressions de touches accidentelles. Il y a trop de choses qui changent après la fermeture du navigateur (fermeture des sessions, fin des connexions), je préférerais empêcher la fermeture du navigateur plutôt que de réparer ses effets.