Вимкнути Ctrl + q з userChrome.js у Firefox Quantum
Це може бути досягнуто без зовнішнього застосування, за допомогою крихітного javascript у вашому профілі Firefox.
Як обов'язкова умова, ви повинні ввімкнути userChrome.js (див. Нижче або отримати з оригінального репортажу GitHub )
Після копіювання каталогу хрому та його вмісту у свій профіль користувача створіть файл <profile-dir>/chrome/disable_ctrl_q.uc.js
із таким вмістом:
var kqa = document.getElementById('key_quitApplication');
if (kqa) kqa.remove();
Нарешті, перезапустіть Firefox, а ctrl + q більше не призведе до виходу програми.
Увімкнення userChrome.js у Firefox Quantum
Для повноти нижче наведено повний вміст змінених хромованих файлів. Щоб увімкнути JavaScriptCarerome, створіть ці два файли всередині chrome
каталогу у вашому профілі Firefox.
- Введіть
about:support
адресний рядок.
- У розділі Основи програми> Каталог профілів натисніть кнопку Відкрити каталог, щоб відкрити каталог профілю Firefox.
- У каталозі профілів створіть новий каталог, який називається
chrome
- У
chrome
каталозі створюйте нові файли userChrome.css
таuserChrome.xml
вміст, перелічений нижче.
- Перезапустіть Firefox (ймовірно, ви також хочете створити .uc.js файл вище, якщо ви виконайте ці дії, щоб відключити 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>