Як перемикати або вимикати вибір тексту, що надсилається до буфера обміну


12

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

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


Я часто просто ігнорую вибір тексту 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 : Невідповідна поведінка копіювання та вставки. Чи є виправлення?
Пітер.О

1
Дякую Пітер.О. Але здається, що я не знайшов способу ігнорувати вибір тексту X без використання миші. Я майже виключно використовую Ctrl + C, X, V, але коли я набираю Ctrl + L для доступу до адресного рядка, (я тепер знаю завдяки вашому посиланню) Firefox замінює буфер обміну на первинний. Тож я думаю, це справді набагато більша проблема. Сподіваюся, деякі із цих замін X, про які я читав, покращать ситуацію.
syserss

Відповіді:


10

Спочатку помилкове уявлення:

будь-який обраний текст негайно надсилається до буфера обміну

Насправді текст ніколи не "надсилається" нікуди, доки його не вимагає приймаюча заявка. Коли ви вибираєте текст, програма заявляє лише про вибір, що означає, що він піднімає прапор, щоб сказати, що відтепер він йому належить.

Тепер до вашого питання:

У X11 може бути кілька варіантів. 2 з них мають відомі назви та стандартизовані. Їх називають ПЕРВИЧНИМ та КЛІПБОРД. Їх відповідна традиційна поведінка така:

  • ПЕРШИЙ
    • Програми вимагають ПРИМІТНО, коли вибрано текст
    • Програми вимагають ПОПЕРЕДЖЕНО від програми, що володіє, і вставляйте її вміст середнім клацанням.
  • КЛІПБОРД
    • Програми вимагають CLIPBOARD, коли явно задана команда, як правило Ctrl- c.
    • Програми вимагають CLIPBOARD від програми, що володіє, і вставляйте її вміст, коли дається явна команда, як правило Ctrl- v.
    • Там можуть бути додаткові правила , які я не впевнений про, як якщо додаток не володіє CLIPBOARD , але деякі додатки володіє PRIMARY, вставити первинний , а не на Ctrl- v.

Здається, CLIPBOARD вже робить те, що вам потрібно. Ви можете ігнорувати PRIMARY, якщо хочете (але зауважте, що деякі старі програми, наприклад, xtermможуть підтримувати лише PRIMARY). Особисто я роблю навпаки: я ігнорую CLIPBOARD і використовую лише ПЕРШИЧНЕ. Я думаю, що це саме той спосіб, коли я навчився використовувати X11, спочатку навіть не знав, що є CLIPBOARD. Але для того, щоб пом'якшити описану вами проблему, я часто бажаю, щоб було первинний вибір, який можна натиснутий і спливаючий, щоб я міг "проскочити" до попереднього вибору після того, як його розібрали з іншим.

Відповідаючи на ваше чітке запитання про те, чи можна відключити первинну поведінку, я думаю, це було б досить складно. Найпростішим способом було б індивідуально відключити його в кожній програмі (або наборах інструментів, якими користуються програми), що, безумовно, неможливо. Я припускаю, що такий тип "брандмауера X11", який блокує запити на вимогу ПРИМІТНОГО, може бути побудований, але я не думаю, що це дійсно придбає вам щось більше, ніж ви вже можете отримати, ігноруючи PRIMARY і використовуючи лише CLIPBOARD.

Додаткова інформація: Яка різниця між первинним вибором та буфером буфера обміну?


1
Дякую Селаде, я б хотів знайти спосіб ігнорувати Первинне, не вдаючись до миші. Це не здається, що існує просте рішення мого роздратування, і поки я використовую Linux, мені потрібно буде змінити свою поведінку. Велике спасибі за ретельну відповідь!
syserss

1
xtermє повністю настроюваним (з translationsресурсом), щоб сказати йому використовувати будь-який буфер вибору або скоротити (з необхідністю падіння назад)
Stéphane Chazelas

А що з ДРУГОЮ? Я впевнений, що він теж має добре відоме ім'я та є стандартизованим; це просто дуже рідко підтримується програмами.
flarn2006

для тих, хто хоче синхронізувати ПЕРВИЧНИЙ та КЛІПБОРД, встановіть parcellite , як пропонується на superuser.com/questions/68170/…
Alec Istomin

10

Я заплутався і випадково ввімкнув синхронізувати вміст буфера обміну та параметр вибору в додатку буфера обміну KDE Plasma. Якщо це не перевірити, це вирішило подібну проблему і для мене.

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


5
Так, є ще одне рішення, приховане для OP: Установіть прапорець у пункті, Ignore selectionі менеджер буфера обміну плазми більше ніколи не замінить ваш Ctrl-Vбуфер обміну. Якщо вміст буфера обміну перезаписаний вмістом PRIMARY select, це не вина X11, зазвичай це менеджер буфера обміну на роботі.
sweisgerber.dev

Я хотів би, щоб я міг підтвердити це 50 разів, шукав це протягом століть!
eeijlar

2

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

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


1

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

рішення : запустіть xfce4-clipman з оболонки, клацніть правою кнопкою миші на панелі завдань і виберіть властивості, а потім вимкніть Ігнорувати виділення та синхронізувати вибір

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

завдяки @ sweisgerber.dev за цей метод

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.