Firefox и его реакция на Shift+Ctrl+c
Опубликовано 18.12.2024 в OpenBSD
Вот бывают какие-то мелочи, ломающие устоявшуюся привычку и от того раздражающие, как хлебная крошка в постели. А нервные клетки, как учит нас распространенное заблуждение, не восстанавливаются, сохранить их - наша задача.
Например: я довольно часто имею дело с терминалами и до ужаса привык для копирования/вставки использовать сочетания клавиш Shift+Ctrl+c/Shift+Ctrl+v (потому как в терминале Ctrl+c прерывает работу текущего процесса). Но как же бесит, когда в браузере Firefox ты неосознанно, автоматически нажимаешь тот же самое привычное сочетание Shift+Ctrl+c, а он ВНЕЗАПНО открывает тебе консоль разработчика! Потому что именно такой хоткей в Firefox присутствует по умолчанию, и перенастроить его достаточно нетривиально.
Собственно, официальные форумы поддержки Mozilla говорят прямо и открыто: нет, вы не можете отключить данный отдельно взятый шорткат, можно только в about:config отключить доступ к инструментам разработчика полностью (а это не то, что меня устроило бы). Неофициальные руководства рекомендуют ставить всяческие расширения типа Menu Wizard, где теоретически можно переопределять шорткаты Firefox, да только расширения эти либо безнадежно устарели, либо вовсе удалены, либо гарантируют работу не везде - например, не будут работать на стартовой странице и при открытии новой вкладки... А еще можно пересобрать Firefox вручную, закомментив соответствующий хоткей в сорцах - там, говорят, всего-то около 20 Гб исходников, ага.
Но я пошел другим путем, более, как мне кажется, универсальным: коль скоро я использую оконный менеджер i3, ничто не мешает мне настроить соответствующую реакцию на сочетание клавиш Shift+Ctrl+c непосредственно в самом i3 - в этом случае хоткей будет перехвачен оконным менеджером и до Firefox просто не дойдет. А чтобы он был не только перехвачен, но и сделал ровно то, что мне нужно, биндинг в ~/.config/i3/config
должен быть примерно такой:
bindsym Ctrl+Shift+c exec --no-startup-id "xclip -r -out -selection primary | xclip -in -selection clipboard"
Да, разумеется, потребуется установить эту самую полезную программку xclip, если вы еще не: doas pkg_add xclip
И обратите внимание на ключик -r
в вызове xclip - он устраняет еще одну раздражавшую меня мелочь: если в конце скопированного в буфер обмена стоит символ конца строки, то он будет удален (но только если в конце) - в результате при вставке скопированного в терминал, команда (если это команда) не будет выполнена автоматически сразу после вставки, потребуется нажать ввод - как по мне, такое поведение много более предсказуемое и удобное.
Собственно, всё: заскриптовали и забыли. Дальше просто пользуемся, не раздражаясь по мелочам.
UPDATE А вообще, я напишу отдельную заметку по механизмам копипасты.