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

12

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

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

syserss
источник
Я часто просто игнорирую выделение текста X (щелчок по центру для вставки) и просто использую Ctrl-C Ctrl-V Ctrl-X, который является буфером обмена (не выбор X), это разные вещи. - Для работы в терминале и некоторых других ситуациях я считаю, что X-выбор удобен - в противном случае я просто использую Ctrl C, V, X - Иногда он очень удобен, поскольку дает доступ к 2 сохраненным строкам. Однако X-выборка просто встроена в X , и она довольно изменчива при переключении из окна в окно и выборе текста (что приводит к
отмене
1
Этот Q / A (Askubuntu) может пролить некоторый свет на функционирование X- выделения и на то, как он взаимодействует с буфером обмена Ctrl C, V, X : неустойчивое копирование и вставка. Есть ли исправление?
Peter.O
1
Спасибо, Питер. Но кажется, что я не нашел способ игнорировать выделение текста X без использования мыши. Я почти исключительно использую Ctrl + C, X, V, но когда я набираю Ctrl + L для доступа к адресной строке (теперь я знаю, благодаря вашей ссылке), Firefox заменяет буфер обмена на Primary. Так что я думаю, что это действительно гораздо большая проблема. Надеюсь, что некоторые из этих замен X, о которых я читал, улучшат ситуацию.
syserss
связанные: unix.stackexchange.com/questions/119043/…
MountainX

Ответы:

10

Сначала заблуждение:

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

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

Теперь к вашему вопросу:

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

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

Кажется, CLIPBOARD уже делает то, что вам нужно. Вы можете игнорировать PRIMARY, если хотите (но учтите, что некоторые старые приложения, такие как, xtermмогут поддерживать только PRIMARY). Лично я поступаю наоборот: я игнорирую CLIPBOARD и использую только PRIMARY. Я думаю, что именно так я научился использовать X11, я даже не знал, что сначала была CLIPBOARD. Но для того, чтобы смягчить проблему, которую вы описываете, я часто хотел бы, чтобы имелся пригодный для восприятия и доступный стек ПЕРВИЧНЫХ выборов, чтобы я мог "всплыть" к предыдущему выбору, после того, как выбил другой.

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

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

Celada
источник
1
Спасибо, Селада, я хотел бы найти способ игнорировать Первичный, не прибегая к помощи мыши. Это не похоже на простое решение моей досады, и пока я использую Linux, мне нужно будет изменить свое поведение. Большое спасибо за подробный ответ!
syserss
1
xtermполностью настраиваемый (с translationsресурсом), чтобы сказать ему использовать любой выделенный или сокращенный буфер (с
Стефан
Что насчет ВТОРИЧНОГО? Я почти уверен, что оно также имеет хорошо известное имя и стандартизировано; это очень редко поддерживается приложениями.
flarn2006
для тех, кто хочет синхронизировать PRIMARY и CLIPBOARD, установите parcellite , как предложено в superuser.com/questions/68170/…
Алек Истомин
10

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

Настройка утилиты KDE Plasma Clipboard

Batandwa
источник
5
Да, есть и другое решение, скрытое для OP: установите флажок в, Ignore selectionи менеджер буфера обмена Plasma никогда не перезапишет ваш Ctrl-Vбуфер обмена. Если содержимое буфера обмена перезаписывается содержимым выбора PRIMARY, это не ошибка X11, обычно это менеджер буфера обмена в работе.
sweisgerber.dev
Хотелось бы, чтобы я проголосовал за это 50 раз, искал это целую вечность!
eeijlar
2

Для всех приложений Gnome вставка среднего щелчка может быть отключена с помощью Gnome-Tweaks / Keyboard & Mouse / Paste Middle Click (который включает опцию gtk-enable-primary-paste Gnome).

Решение, работающее для всего X и не отключающее полностью средний щелчок (например, для закрытия вкладок в браузере), - это XMousePasteBlock, который должен запускаться пользователем, он также упакован для Arch в AUR .

Иларио Джелметти
источник
1

В XFCE у меня была та же проблема, и хуже всего было то, что автоматический выбор прерывал копирование / вставку в удаленных средствах просмотра, таких как x2go, vnc ... тогда мне приходилось открывать новый сеанс, чтобы решить его каждый раз, когда я выбираю текст.

Решение : запустите xfce4-clipman из оболочки, щелкните правой кнопкой мыши на панели задач и выберите свойства, затем отключите параметры игнорирования и синхронизации

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

спасибо @ sweisgerber.dev за этот метод

Бадр Элмерс
источник