Я хотел бы отключить поведение по умолчанию, которое, по-видимому, происходит с каждым дистрибутивом Linux, в котором я когда-либо пробовал, чтобы любой выбранный текст немедленно отправлялся в буфер обмена (Mint, Ubuntu, Fedora, SuSE и т. Д.) И в любой оконный менеджер (Gnome). , KDE, Cinnamon), а вместо этого вести себя больше как реализация Windows.
Я знаю, что это любимое поведение многих в Linux, и я уверен, что многие подумают, что я идиот. Причина, по которой я хочу это сделать, заключается в том, что я неопытная клавиатура при навигации по GUI. (например, когда я нахожусь в Linux, и я копирую URL, а затем переключаюсь в свой браузер и набираю Ctrl + L, он выбирает адресную строку и перемещает мою предполагаемую вставку вниз на одну ступень и заменяет ее тем, что я пытаюсь перезаписать. Я знаю, что есть МНОГИЕ обходные пути, но мне все равно, что я предпочел бы, чтобы иметь возможность переключать поведение для буфера обмена.
Ответы:
Сначала заблуждение:
На самом деле текст никогда нигде не «отправляется», пока не будет запрошено принимающим приложением. При выборе текста, приложение только утверждает , что выбор, что означает , в основном , что она поднимает флаг , чтобы сказать , что отныне он владеет.
Теперь к вашему вопросу:
В X11 может быть несколько вариантов выбора. 2 из них имеют известные имена и стандартизированы. Они называются ПЕРВИЧНЫЕ и КЛАПАНОВЫЕ. Их соответствующие обычные поведения следующие:
Кажется, CLIPBOARD уже делает то, что вам нужно. Вы можете игнорировать PRIMARY, если хотите (но учтите, что некоторые старые приложения, такие как,
xterm
могут поддерживать только PRIMARY). Лично я поступаю наоборот: я игнорирую CLIPBOARD и использую только PRIMARY. Я думаю, что именно так я научился использовать X11, я даже не знал, что сначала была CLIPBOARD. Но для того, чтобы смягчить проблему, которую вы описываете, я часто хотел бы, чтобы имелся пригодный для восприятия и доступный стек ПЕРВИЧНЫХ выборов, чтобы я мог "всплыть" к предыдущему выбору, после того, как выбил другой.В ответ на ваш явный вопрос о том, можно ли отключить ПЕРВИЧНОЕ поведение, я думаю, что это будет довольно сложно. Самый простой способ - это индивидуально отключить его в каждом приложении (или наборах инструментов, которые используют приложения), что, безусловно, невозможно. Я предполагаю, что может быть создан своего рода «брандмауэр X11», который блокирует запросы на утверждение PRIMARY, но я не думаю, что это действительно купит вам больше, чем вы уже можете получить, игнорируя PRIMARY и используя только CLIPBOARD.
Дополнительная информация: в чем разница между основным выбором и буфером обмена?
источник
xterm
полностью настраиваемый (сtranslations
ресурсом), чтобы сказать ему использовать любой выделенный или сокращенный буфер (сparcellite
, как предложено в superuser.com/questions/68170/…Я возился и случайно включил синхронизацию содержимого буфера обмена и опцию выбора в приложении буфера обмена KDE Plasma. Отмена проверки решила похожую проблему для меня.
источник
Ignore selection
и менеджер буфера обмена Plasma никогда не перезапишет вашCtrl-V
буфер обмена. Если содержимое буфера обмена перезаписывается содержимым выбора PRIMARY, это не ошибка X11, обычно это менеджер буфера обмена в работе.Для всех приложений Gnome вставка среднего щелчка может быть отключена с помощью Gnome-Tweaks / Keyboard & Mouse / Paste Middle Click (который включает опцию gtk-enable-primary-paste Gnome).
Решение, работающее для всего X и не отключающее полностью средний щелчок (например, для закрытия вкладок в браузере), - это XMousePasteBlock, который должен запускаться пользователем, он также упакован для Arch в AUR .
источник
В XFCE у меня была та же проблема, и хуже всего было то, что автоматический выбор прерывал копирование / вставку в удаленных средствах просмотра, таких как x2go, vnc ... тогда мне приходилось открывать новый сеанс, чтобы решить его каждый раз, когда я выбираю текст.
Решение : запустите xfce4-clipman из оболочки, щелкните правой кнопкой мыши на панели задач и выберите свойства, затем отключите параметры игнорирования и синхронизации
спасибо @ sweisgerber.dev за этот метод
источник