LINUX.ORG.RU

История изменений

Исправление i-rinat, (текущая версия) :

неконфигурируемого захардкоженного PRIMARY BUFFER

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

Когда ты нажимаешь колёсико мыши (или среднюю кнопку, есть нет колёсика), окно получает событие нажатия кнопки мыши. Тулкит (GTK, Qt) в рамках приложения обрабатывает событие, делает запрос к иксам «у кого сейчас PRIMARY?». Иксы отвечают, мол, вот это окно. Тулкит в рамках приложения посылает назначенному окну запрос, получает ответ, производит вставку.

Внутри иксов нет выделенного механизма обработки именно колёсика мыши. Иксы даже не различают между собой PRIMARY и CLIPBOARD. Это делают тулкиты. Это они решают, что ты решил испортить текст, который набирал, потому что случайно нажал ладонью на тачпад. Проблема в GTK, Qt, … и так далее.

Чинить эту проблему на транспортном уровне всё равно что пытаться блокировать веб-рекламу, добавляя конфиг и код в ядро Linux, потому что трафик проходит через ядро. Наверное, лучше бы всё-таки это делать в браузере.

Да, конечно, появились некоторые новые проблемы. Но с Wayland есть бОльший шанс что их пофиксят

Вместо божка А ты теперь будешь молиться божку Б. Вот и всё отличие. И как-то не особо заметно, чтобы божок Б был благосклоннее. Он уже капризничает, несмотря на то, что не так давно родился.

Исходная версия i-rinat, :

неконфигурируемого захардкоженного PRIMARY BUFFER

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

Когда ты нажимаешь колёсико мыши (или среднюю кнопку, есть нет колёсика), окно получает событие нажатия кнопки мыши. Тулкит (GTK, Qt) в рамках приложения обрабатывает событие, делает запрос к иксам «у кого сейчас PRIMARY?». Иксы отвечают, мол, вот это окно. Тулкит в рамках приложения посылает назначенному окну запрос, получает ответ, производит вставку.

Внутри иксов нет выделенного механизма обработки именно колёсика мыши. Иксы даже не различают между собой PRIMARY и CLIPBOARD. Это делают тулкиты. Это они решают, что ты решил испортить текст, который набирал, потому что случайно нажал ладонью на тачпад. Проблема в GTK, Qt, … и так далее.

Чинить эту проблему на транспортном уровне всё равно что пытаться блокировать веб-рекламу, добавляя конфиг и код в ядро Linux, потому что трафик проходит через ядро. Наверное, лучше бы всё-таки это делать в браузере.