Як відключити ярлик Ctrl + Q в Firefox в Linux


56

Оскільки Firefox 57 немає можливості відключити Ctrl+ Qярлик за допомогою плагіна в Linux (див. Цю помилку ). Усі знайдені нами вирішення засновані на встановленні глобального Ctrl+ Qярлика для "крадіжки" у Firefox. Але це вимкне цей ярлик у кожному додатку, і я хочу відключити цю ярлик лише у Firefox, не впливаючи на будь-який інший додаток.

Чи є спосіб відключити ярлик для швидкого доступу лише для однієї програми? Я використовую Ubuntu з Unity.


Цікаве питання, але відповідь може залежати від випадку використання. Випадкові натискання клавіш? Режим кіоску?
l0b0

4
@ l0b0 Випадкові натискання клавіш. Це звичайний ПК, нічого фантазійного.
rob006

У такому випадку у вас є більше деталей? Я просто перевіряю, чи є система, яка може бути налаштована так, щоб робити те, що ви хочете ™, наприклад, зберігати вкладки при виході, щоб уникнути того, що, як я підозрюю, буде крихким злом.
l0b0

6
@ l0b0 Я хочу запобігти закриттю браузера випадковими натисканнями клавіш. Занадто багато речей змінюється після закриття браузера (закриття сеансів, припинення з'єднань), я б вважав за краще запобігти закриттю браузера, ніж фіксувати його ефекти.
rob006

Відповіді:


46

У about:configвстановлених налаштуваннях.

Firefox> = 65

browser.sessionstore.warnOnQuit true
browser.warnOnQuit true

введіть тут опис зображення

Джерело

Старіші Firefox

browser.showQuitWarning true
browser.warnOnQuit true

Перевірений у всій версії, я натрапив на 61.0.2-64.0.2 на 64-бітовому Linux (і на канал 60esr на Win10). скріншот


2
Будь-який конструктивний зворотний зв'язок із цією головою?
CrazyPyro

4
І тепер, як і для FF 63.0.3 (64-розрядний Ubuntu), ctrl-Q знову миттєво припиняється для мене, незважаючи на те, що обидва ці варіанти включені. Дивно, який хаос вони створили з цієї простої (помилкової) функції. Ну добре, можливо, це знову запрацює у v64 ...
Понт

3
Я не бачу browser.showQuitWarningна ff Quantum 64.0 64bit в Linux. browser.warnOnQuitвключено, але нічого не робить?
bool3max

4
Це не працює для мене в Firefox 66.0.5 в Manjaro Linux. Доведеться browser.tabs.warnOnClose;trueзараз розбиратися . Пов'язане: bugzilla.mozilla.org/show_bug.cgi?id=502908#c73
aguadopd

2
Вибрана відповідь більше не вирішує питання.
Павло

15

tl / dr: призначити глобальний ярлик для Ctrl-Q

У Firefox Quantum about:configпараметри, які попереджали про закриття Firefox за допомогою випадкового натискання клавіші Ctrl-Q, більше не працюють.

Вирішення: в Arch Linux | Середовище робочого столу XFCE (інші дистрибутиви та / або настільні комп’ютери можуть допускати подібний підхід):

  • Меню Whiskers >> Усі налаштування >> Клавіатура >> Швидкі клавіші програм >> Додати

  • Додати нову "програму" null; призначити його для Ctrl-Qнатискання клавіші

    • Оновлення (коментар @justderb): "Використання" true "замість" null "добре, якщо ви не хочете, щоб з'явилося вікно помилок."

Firefox - 'відключити' Ctrl-Q

Заклик: тут я натиснув Ctrl-Qу Firefox Quantum v. 60.0.1 (64-розрядний); замість виходу з Firefox я отримую це спливаюче вікно,

Firefox - Ctrl-Q "відключено"

Caveat: це, звичайно, глобально впливає на всі натискання клавіш Ctrl-Q. Однак - на мою власну перевагу - цей недолік переважає, анулюючи ті випадкові закриття Firefox Ctrl-Q (після чого я повинен повторно увійти на веб-сайти: GitHub; reddit; ...).

Оновлення

Відповідь @crazypyro також працює для мене (FF Quantum 63.0 на x86_64 Linux), вказуючи спливаюче попередження, якщо ви спробуєте вийти з Firefox. Це, мабуть, слід розглядати як конкретну відповідь, і моє рішення є більш загальним рішенням.

about:config(обидва наведені нижче true):

  • browser.showQuitWarning
  • browser.warnOnQuit

7
Використовувати trueзамість цього nullприємно, якщо ви не хочете, щоб з'явилося вікно помилок.
justderb

@justderb: приємно! :-D
Вікторія Стюарт

1
для мене в плазмі Archlinux / kde 5 я не міг зробити глобальний ярлик, не спершу вибравши додаток - не міг бути правдою | null, але завдяки вашій пропозиції я зміг переробити його для переключення мікрофона - що на робочому комп'ютері для мене безглуздо. все одно .. дякую!
JTC

Зіставлення CTRL + q у sxhkd також захоплює ярлик, не даючи Firefox вийти.
Саймон Седергрен Мальмквіст

Працює в Монетному дворі 19.
Павло

7

Вимкнути 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.

  1. Введіть about:supportадресний рядок.
  2. У розділі Основи програми> Каталог профілів натисніть кнопку Відкрити каталог, щоб відкрити каталог профілю Firefox.
  3. У каталозі профілів створіть новий каталог, який називається chrome
  4. У chromeкаталозі створюйте нові файли userChrome.cssтаuserChrome.xml вміст, перелічений нижче.
  5. Перезапустіть 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>

1
Це не працює в Firefox 62
горе

1
Він працює з останньою стабільною, Firefox 61. Сподіваємось, 62 виправлено до того, як вона покине бета-версію.
thinkmassive

Зараз я використовую рішення від CrazyPyro superuser.com/a/1352295/308508
thinkmassive

Не працює в 69.0.2 (не бета). Також document.getElementById('key_quitApplication')повертає null. Чи змінилася назва цього елемента?
цберталан

6

Некрасивий, але простий і ефективний спосіб вирішення завжди onbeforeunloadзалишає відкритою сторінку з активною обробкою, тобто викличе "Ця сторінка просить підтвердити, що ви хочете залишити - введені вами дані можуть не зберігатися". діалогове вікно, коли ви намагаєтесь його закрити.

Таким чином, якщо ви випадково спробуєте CTRL + Q, ви отримаєте це діалогове вікно і зможете вибрати "залишитися на цій сторінці", щоб скасувати вихід.

Правка: Спеціальна сторінка, яку я створив саме для цієї мети


приємний хакерський дух!
Даніель Гітцель

Спасибі! Додано посилання на мою реалізацію.
Ян Шейбал

Дякую за це Працює для мене, і настільки нахабний, що я люблю це (: Мене дивує, що FF
заплутав

4

Мені вдалося отримати те, що мені потрібно з AutoKey . Після встановлення я створив порожній скрипт із призначеним Ctrl+ Qяк "клавіша швидкої клавіші" та .*Firefoxяк "фільтр вікон".

введіть тут опис зображення

Потім у налаштуваннях AutoKey я додав його до значка автозапуску та відключення сповіщення, щоб він став для мене прозорим.

введіть тут опис зображення

Я використовував його протягом декількох годин, і це виглядає багатообіцяюче - досі немає помилкових позитивних результатів або пропущених уловів. Зараз Ctrl+ Qне працює для Firefox, але він прекрасно працює, наприклад, у PhpStorm.


Крім того, помилка 1215061 дає певну надію, що в майбутньому це буде простіше, і Firefox нарешті отримає пристойні налаштування комбінацій клавіш.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.