Каково различие между этими X буферами обмена?

  • Основной
  • Вторичный
  • Буфер обмена
  • Буферы сокращения

Каково различие между ними?

Экспериментирование с xclip и gedit:

Основная установка

Ничего не происходит, насколько я могу сказать

Вторичная установка

Снова, насколько я могу сказать, не влияет на gedit

Установка буфера обмена

paste в редактировании и контекстном меню отключен, но нажатие control-v вызывает текст, который я хочу вставить.

Копирование в gedit

Кажется, устанавливает primary и clipboard

Для чего каждый используется? Как к ним обычно получают доступ в программах? Как это реализовано? Они - свойства на корневом окне (если так, каковы их имена)?

Буферы сокращения

Я понимаю, что буферы клипа используются в xterm, когда Вы выбираете текст и вставляетесь, когда Вы щелкаете средней кнопкой. Какие-либо другие программы используют буферы сокращения?

7
задан 02.01.2010, 02:15

2 ответа

X выборов, буферы сокращения, и уничтожают кольца

Буфер обмена: поскольку, когда пользователь явно скопировал что-то (например, 'пункт меню 'Edit/Copy ''.)
Основной: более эфемерный и неявный: это для того, когда пользователь выделил или выбрал что-то (например, перетаскивая мышь по некоторому тексту.)
Буферы сокращения: Устаревший. Никогда, когда-либо используйте их. Когда-либо.

Вторичный? Определенный в ICCCCCCCM, но я не нашел единственную программу, которая использует его.


В статье Википедии о выборе X Window говорится, что только буферы сокращения были свойствами окна корневого окна, названного CUT_BUFFER1 и так далее.

7
ответ дан 07.12.2019, 14:50

X называет их "выборами", а не "буферами обмена". Из Википедии (целая статья, вероятно, поможет Вам, также):

На уровне протокола ядра не отличаются ОСНОВНЫЕ выборы и выборы БУФЕРА ОБМЕНА. Но xclipboard клиент заставляет их вести себя по-другому. В частности, когда другой клиент утверждает владение выбора БУФЕРА ОБМЕНА, эта программа запросы и отображает его в окне. Дальнейший запрос на этот выбор обработан xclipboard. Таким образом, контент выбора переживает клиент, скопировавший его.

Нет никакого свойственного различия между ними, единственная разница находится в поведении приложений с помощью них. Например, Вы могли записать программу, которая, когда Вы нажали ctrl v, использовала основной выбор вместо буфера обмена, и это прекрасно подойдет с технической точки зрения. Различия являются социальными в этом, пользователи ожидают определенное поведение, и умно следовать за этим подавляющее большинство времени.

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

3
ответ дан 07.12.2019, 14:50

Теги

Похожие вопросы