Sejak Firefox 57 tidak ada cara untuk menonaktifkan Pilih+Q pintas dengan plugin pada Linux (lihat bug). Semua cara saya've ditemukan didasarkan pada pengaturan global Pilih+Q shortcut untuk "mencuri" dari Firefox. Tapi ini akan menonaktifkan shortcut ini di setiap aplikasi, dan aku ingin menonaktifkan shortcut ini hanya di Firefox, tanpa mempengaruhi aplikasi lain.
Apakah ada cara untuk menonaktifkan atau menangkap jalan pintas hanya untuk satu aplikasi? I'm menggunakan Ubuntu dengan Unity.
tl/dr: menetapkan global shortcut Ctrl-Q
Di Firefox Kuantum, yang about:config
settings yang digunakan untuk memperingatkan terhadap Firefox penutupan melalui disengaja Ctrl-Q menekan tombol tidak lagi bekerja.
Solusi: pada Arch Linux | XFCE desktop environment lain (Linux distro &/atau desktop memungkinkan pendekatan yang sama):
Kumis menu >> Semua Pengaturan >> Keyboard >> cara Pintas Aplikasi >> Add
Tambahkan baru "aplikasi", null
; menetapkan untuk Ctrl-Q
keypress
Update (komentar oleh @justderb): "Menggunakan 'benar' bukan 'null' adalah lebih baik jika anda don't ingin kesalahan jendela pop up."
Doa: di sini, aku menekan Ctrl-Q
di Firefox Quantum v. 60.0.1 (64-bit); bukannya berhenti Firefox, saya mendapatkan popup ini,
Peringatan: ini, tentu saja, secara global mempengaruhi semua Ctrl-Q tombol yang ditekan. Namun, -- per preferensi saya sendiri -- bahwa kekurangan adalah sebanding dengan meniadakan orang-orang yang tidak disengaja Firefox Ctrl-Q penutupan (setelah itu saya harus re-login ke website: GitHub; reddit; ...).
Update
@crazypyro 's jawaban juga bekerja untuk saya (FF Quantum 63.0 pada Linux x86_64) memberikan popup peringatan jika anda mencoba untuk Berhenti Firefox. Itu harus mungkin dianggap sebagai jawaban yang spesifik, dengan solusi yang lebih umum pemecahan masalah.
about:config
(kedua dari berikut set untuk true
):
browser.showQuitWarning
browser.warnOnQuit
Hal ini dapat dicapai tanpa aplikasi eksternal dengan sedikit javascript di Firefox anda profil.
Sebagai prasyarat, anda harus mengaktifkan userChrome.js (lihat di bawah, atau memperoleh dari original GitHub repo)
Setelah menyalin chrome direktori dan isinya ke dalam profil pengguna anda, membuat file <profil-dir>/chrome/disable_ctrl_q.uc.js
dengan konten berikut:
var kqa = document.getElementById('key_quitApplication');
if (kqa) kqa.remove();
Terakhir, restart Firefox, dan ctrl+q tidak akan lagi menyebabkan aplikasi untuk keluar.
Untuk kelengkapan, berikut ini adalah isi lengkap dari modifikasi chrome file. Untuk mengaktifkan userChrome javascript, membuat dua file di dalam chrome
direktori dalam profil Firefox.
tentang:dukungan
di address bar.chrome
chrome
directory, membuat file baru userChrome.css
dan userChrome.xml
dengan isi yang tercantum di bawah ini./* 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");
}
<?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>
Jelek, tapi sederhana dan efektif solusi adalah selalu menjaga sebuah halaman terbuka yang telah aktif onbeforeunload
handler, yaitu akan memicu "Ini adalah halaman yang meminta anda untuk mengkonfirmasi bahwa anda ingin meninggalkan - data yang telah anda masukkan tidak dapat disimpan." dialog ketika anda mencoba untuk menutupnya.
Dengan cara itu, jika anda secara tidak sengaja mencoba untuk CTRL+Q, anda akan menerima dialog, dan dapat memilih "tinggal di halaman ini" untuk membatalkan keluar.
Saya bisa mendapatkan apa yang saya butuhkan dengan AutoKey. Setelah instalasi saya buat kosong script dengan yang ditetapkan Pilih+Q sebagai "Hotkey" dan .*Firefox
sebagai "Jendela filter".
Kemudian di AutoKey preferensi saya menambahkan ke autostart dan cacat ikon pemberitahuan, sehingga menjadi transparan untuk saya.
Saya menggunakannya selama beberapa jam dan itu terlihat menjanjikan - tidak ada false-positif atau tidak terjawab menangkap sejauh ini. Sekarang Pilih+Q tidak bekerja untuk Firefox, tapi itu bekerja baik-baik saja di PhpStorm misalnya.
Di samping itu bug 1215061 memberikan beberapa harapan bahwa ini akan lebih mudah di masa depan dan Firefox akhirnya akan mendapatkan beberapa cara pintas keyboard pengaturan.