Как переключить или отключить отправку текста в буфер обмена

Я хотел бы отключить поведение по умолчанию, которое, как представляется, происходит с каждым дистрибутивом Linux, который я когда-либо пробовал, чтобы любой выделенный текст был немедленно отправлен в буфер обмена (Mint, Ubuntu, Fedora, SuSE и т. Д.) И каждый оконный менеджер (Gnome , KDE, Cinnamon) и вместо этого вести себя скорее как реализация Windows.

Я знаю, что это очень любимое поведение многих в Linux, и я уверен, что многие подумают, что я идиот. Причина, по которой я хочу это сделать, заключается в том, что я манипулирую клавиатурой при навигации по графическому интерфейсу. (например, когда я нахожусь в Linux и копирую URL-адрес, а затем переключаюсь в свой браузер и набираю Ctrl + L, он выбирает адресную строку и перемещает мою намеченную пасту на одну ступень и заменяет ее тем, что я пытаюсь переписать. ) Я знаю, что есть много способов обхода, но меня это не волнует, я бы предпочел, чтобы можно было переключать поведение для буфера обмена.

Первое заблуждение:

любой выделенный текст немедленно отправляется в буфер обмена

Фактически текст никогда не отправляется нигде, пока он не будет запрошен принимающим приложением. Когда вы выбираете текст, приложение только утверждает выбор, что означает, в основном, что он поднимает флаг, чтобы сказать, что отныне он владеет им.

Теперь на ваш вопрос:

В X11 может быть несколько вариантов. 2 из них имеют известные имена и стандартизированы. Их называют ПЕРВИЧНЫМИ И КЛИПКАМИ. Их обычное поведение выглядит следующим образом:

  • ПЕРВИЧНЫЙ
    • Приложения требуют PRIMARY при выборе текста
    • Заявки запрашивают PRIMARY из приложения-владельца и вставляют его содержимое при среднем щелчке.
  • CLIPBOARD
    • Приложения требуют CLIPBOARD, когда дается явная команда, обычно Ctrl- c .
    • Приложения запрашивают CLIPBOARD из собственного приложения и вставляют его контенты, когда предоставляется явная команда, обычно Ctrl- v .
    • Могут быть дополнительные правила, о которых я не уверен, например, если ни одно приложение не владеет CLIPBOARD, но какое-то приложение принадлежит PRIMARY, вставьте primary вместо Ctrl- v .

Он видит, что CLIPBOARD уже делает то, что вам нужно. Вы можете игнорировать PRIMARY, если хотите (но обратите внимание, что некоторые старые приложения, такие как xterm могут поддерживать только PRIMARY). Лично я делаю все наоборот: я игнорирую CLIPBOARD и использую только PRIMARY. Наверное, именно так я научился использовать X11, я даже не знал, что сначала был CLIPBOARD. Но для того, чтобы смягчить описанную вами проблему, я часто желаю, чтобы был выпуклый и poppable-пакет из выборки PRIMARY, поэтому я мог бы «попёрнуться» к предыдущему выбору после скрещивания его с другим.

В ответ на ваш явный вопрос о том, можно ли отключить поведение PRIMARY, я думаю, что это будет довольно сложно. Самым простым способом было бы индивидуально отключить его в каждом приложении (или инструментариях, которые используют приложения), что, безусловно, невозможно. Я предполагаю, что какой-то «брандмауэр X11», который блокирует запросы на требование PRIMARY, может быть сконструирован, но я не думаю, что вы действительно купили бы что-нибудь большее, чем вы уже можете получить, игнорируя PRIMARY и используя только CLIPBOARD.

Дополнительная информация: В чем разница между первичным выбором и буфером буфера обмена?

Я возился и случайно включил содержимое Synchronize в буфере обмена и параметр выбора в приложении KDE Plasma Clipboard. Отказ от этого решил для меня аналогичную проблему.

Конфигурация утилиты KDE Plasma Clipboard