So deaktivieren Sie die Tastenkombination Strg + Q in Firefox unter Linux

56

Seit Firefox 57 gibt es keine Möglichkeit, Ctrl+ QVerknüpfung per Plugin unter Linux zu deaktivieren (siehe diesen Bug ). Alle Problemumgehungen, die ich gefunden habe, basieren darauf, dass die globale Verknüpfung Ctrl+ so eingestellt wurde Q, dass sie Firefox "stiehlt". Dadurch wird diese Verknüpfung jedoch in jeder Anwendung deaktiviert, und ich möchte diese Verknüpfung nur in Firefox deaktivieren, ohne dass sich dies auf eine andere Anwendung auswirkt.

Gibt es eine Möglichkeit, die Verknüpfung nur für eine Anwendung zu deaktivieren oder abzurufen? Ich benutze Ubuntu mit Unity.

rob006
quelle
Interessante Frage, aber die Antwort kann vom Anwendungsfall abhängen. Versehentliches Drücken einer Taste? Kiosk-Modus?
l0b0
4
@ l0b0 Versehentliches Drücken einer Taste. Das ist normaler PC, nichts Besonderes.
rob006
Haben Sie in diesem Fall weitere Details? Ich überprüfe nur, ob das System auf irgendeine Weise für Do What You Want ™ eingerichtet werden kann, z.
l0b0
6
@ l0b0 Ich möchte verhindern, dass der Browser durch versehentliches Drücken einer Taste geschlossen wird. Es gibt zu viele Dinge, die sich nach dem Schließen des Browsers ändern (Schließen von Sitzungen, Beenden von Verbindungen). Ich würde es vorziehen, das Schließen des Browsers zu verhindern, als seine Auswirkungen zu beheben.
rob006

Antworten:

46

In festgelegten about:configEinstellungen.

Firefox> = 65

browser.sessionstore.warnOnQuit true
browser.warnOnQuit true

Bildbeschreibung hier eingeben

Quelle

Älterer Firefox

browser.showQuitWarning true
browser.warnOnQuit true

Getestet in allen Versionen bin ich auf 61.0.2-64.0.2 unter 64-Bit-Linux gestoßen (und auf den 60er-Kanal unter Win10). Bildschirmfoto

CrazyPyro
quelle
2
Gibt es konstruktives Feedback zu dieser Ablehnung?
CrazyPyro
4
Und jetzt, ab FF 63.0.3 (64-Bit Ubuntu), wird Strg-Q für mich sofort wieder beendet, obwohl beide Optionen aktiviert sind. Es ist erstaunlich, was für ein Durcheinander sie mit dieser einfachen (Fehl-) Funktion angerichtet haben. Na ja, vielleicht wird es in v64 wieder funktionieren ...
Pont
3
Ich sehe das browser.showQuitWarningon ff quantum 64.0 64bit unter Linux nicht. browser.warnOnQuitist aktiviert, tut aber nichts?
bool3max
4
Dies funktioniert bei mir in Firefox 66.0.5 unter Manjaro Linux nicht. Ich werde mich browser.tabs.warnOnClose;truejetzt darum kümmern müssen . Siehe auch
aguadopd
2
Die ausgewählte Antwort behebt das Problem nicht mehr.
Paul
15

tl / dr: Weisen Sie Strg-Q eine globale Verknüpfung zu

In Firefox Quantum funktionieren die about:configEinstellungen , mit denen vor dem Schließen von Firefox durch versehentliches Drücken von Strg-Q gewarnt wurde, nicht mehr.

Problemumgehung: unter Arch Linux | XFCE-Desktop-Umgebung (andere Linux-Distributionen und / oder -Desktops ermöglichen möglicherweise einen ähnlichen Ansatz):

  • Whiskers-Menü >> Alle Einstellungen >> Tastatur >> Anwendungsverknüpfungen >> Hinzufügen

  • Fügen Sie eine neue „Anwendung“, null; Weisen Sie es dem Ctrl-QTastendruck zu

    • Update (Kommentar von @justderb): "Die Verwendung von 'true' anstelle von 'null' ist hilfreich, wenn das Fehlerfenster nicht angezeigt werden soll."

Firefox - "deaktivieren" Strg-Q

Aufruf: hier habe ich Ctrl-QFirefox Quantum v. 60.0.1 (64-Bit) gedrückt ; anstatt Firefox zu beenden, erhalte ich dieses Popup,

Firefox - Strg-Q deaktiviert

Vorsichtsmaßnahme: Dies wirkt sich natürlich global auf alle Strg-Q-Tastendrücke aus. Allerdings wird dieses Manko - nach meiner eigenen Präferenz - aufgewogen, indem die versehentlichen Firefox-Ctrl-Q-Schließungen aufgehoben werden (danach muss ich mich erneut bei Websites anmelden: GitHub; reddit; ...).

Aktualisieren

Die Antwort von @crazypyro funktioniert auch bei mir (FF Quantum 63.0 unter x86_64 Linux) und gibt eine Popup-Warnung aus, wenn Sie versuchen, Firefox zu beenden. Das sollte wahrscheinlich als die spezifische Antwort angesehen werden, wobei meine Lösung eine allgemeinere Problemumgehung darstellt.

about:config(beide der folgenden setzen auf true):

  • browser.showQuitWarning
  • browser.warnOnQuit
Victoria Stuart
quelle
7
Die Verwendung von trueanstelle von nullist hilfreich, wenn das Fehlerfenster nicht angezeigt werden soll.
Justderb
@justderb: schön! :-D
Victoria Stuart
1
Für mich in Archlinux / KDE 5 Plasma konnte ich keine globale Verknüpfung erstellen, ohne zuerst eine Anwendung ausgewählt zu haben - konnte nicht wahr sein | null, aber dank Ihres Vorschlags konnte ich sie dem Umschaltmikrofon zuordnen - was für mich auf dem Arbeitscomputer sinnlos ist trotzdem danke!
JTC
Durch das Zuordnen von STRG + q in sxhkd wird auch die Verknüpfung entführt, sodass Firefox nicht beendet werden kann.
Simon Cedergren Malmqvist
Arbeitet in Mint 19.
Paul
7

Deaktivieren Sie Strg + q mit userChrome.js in Firefox Quantum

Dies kann ohne eine externe Anwendung durch ein kleines bisschen Javascript in Ihrem Firefox-Profil erreicht werden.

Voraussetzung ist, dass Sie userChrome.js aktivieren (siehe unten oder beziehen Sie sich auf das Original-GitHub-Repository ).

Erstellen Sie nach dem Kopieren des Chrome-Verzeichnisses und seines Inhalts in Ihr Benutzerprofil eine Datei <profile-dir>/chrome/disable_ctrl_q.uc.jsmit dem folgenden Inhalt:

var kqa = document.getElementById('key_quitApplication');
if (kqa) kqa.remove();

Zuletzt starten Sie Firefox neu und Strg + q führt nicht mehr zum Beenden der Anwendung.


Aktivieren von userChrome.js in Firefox Quantum

Der Vollständigkeit halber finden Sie nachfolgend den vollständigen Inhalt der geänderten Chrome-Dateien. Um userChrome Javascript zu aktivieren, erstellen Sie diese beiden Dateien in einem chromeVerzeichnis in Ihrem Firefox-Profil.

  1. Geben Sie about:supportdie Adressleiste ein.
  2. Klicken Sie unter Anwendungsgrundlagen> Profilverzeichnis auf die Schaltfläche Verzeichnis öffnen, um das Firefox-Profilverzeichnis zu öffnen.
  3. Erstellen Sie im Profilverzeichnis ein neues Verzeichnis mit dem Namen chrome
  4. Im chromeVerzeichnis, neue Dateien erstellen userChrome.cssund userChrome.xmlmit dem Inhalt unten aufgeführt.
  5. Starten Sie Firefox neu (Sie möchten wahrscheinlich auch die obige .uc.js-Datei erstellen, wenn Sie die folgenden Schritte ausführen, um Strg + q zu deaktivieren)

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>
thinkmassive
quelle
1
Dies funktioniert nicht in Firefox 62
Trauer
1
Es funktioniert mit dem neuesten Stable, Firefox 61. Hoffentlich wird 62 behoben, bevor es die Beta verlässt.
ThinkMassive
Ich benutze jetzt die Lösung von CrazyPyro superuser.com/a/1352295/308508
thinkmassive
Funktioniert nicht in 69.0.2 (nicht Beta). Auch document.getElementById('key_quitApplication')gibt null zurück. Hat sich der Name dieses Elements geändert?
Tsbertalan
6

Eine hässliche, aber einfache und effektive Problemumgehung führt immer dazu, dass eine Seite mit einem aktiven onbeforeunloadHandler geöffnet bleibt. Dies löst die Meldung "Auf dieser Seite werden Sie aufgefordert, das Verlassen der Seite zu bestätigen. Eingegebene Daten werden möglicherweise nicht gespeichert." Aus. Dialogfeld, wenn Sie versuchen, es zu schließen.

Auf diese Weise erhalten Sie bei versehentlichem Versuch, STRG + Q zu drücken, dieses Dialogfeld und können "Auf dieser Seite bleiben" auswählen, um das Beenden abzubrechen.

Bearbeiten: Benutzerdefinierte Seite, die ich nur für diesen Zweck gemacht habe

Jan Schejbal
quelle
netter hackergeist da!
Daniel Hitzel
Vielen Dank! Ein Link zu meiner Implementierung wurde hinzugefügt.
Jan Schejbal
Danke dafür. Arbeiten für mich, und so Cheezy Ich liebe es (: Es ist erstaunlich für mich , dass FF hat diese einfache Sache vermasselt.
jwd
4

Ich konnte mit AutoKey bekommen, was ich brauchte . Nach der Installation habe ich ein leeres Skript mit dem zugewiesenen Ctrl+ Qals "Hotkey" und .*Firefoxals "Fensterfilter" erstellt.

Bildbeschreibung hier eingeben

Dann habe ich es in den AutoKey-Einstellungen zum Symbol für automatischen Start und deaktivierte Benachrichtigung hinzugefügt, damit es für mich transparent wird.

Bildbeschreibung hier eingeben

Ich habe es ein paar Stunden lang benutzt und es sieht vielversprechend aus - bisher keine Fehlalarme oder verpassten Fänge. Momentan funktioniert Ctrl+ Qnicht für Firefox, aber es funktioniert zum Beispiel in PhpStorm einwandfrei.


Außerdem gibt der Fehler 1215061 Hoffnung, dass dies in Zukunft einfacher wird und Firefox endlich einige anständige Einstellungen für Tastaturkürzel erhält.

rob006
quelle