LINUX.ORG.RU

Общий буфер для нескольких xserver

 ,


0

1

Собственно, сабж. Никак не могу понять, как это сделать. И да, буфер «выделения» мне вообще не нужен, с огромной радостью выпилил бы его вообще - считаю, что копирование должно происходить только по хоткеям.

Прошу помочь, спасибо!

★★★★★

1. Буфера нет by design. Выделения — не буферы. Выделение CLIPBOARD — тоже не буфер.

2. Смотришь на любой менеджер выделений (хотя бы parcellite). Тебе просто нужно запустить xsel с DISPLAY=другой_сервер при каждой смене PRIMARY. Всё.

x3al ★★★★★
()
Ответ на: комментарий от x3al

При первом приближении parcellite мне не помог.

Тебе просто нужно запустить xsel с DISPLAY=другой_сервер при каждой смене PRIMARY. Всё.

Не совсем понял. То есть мне при каждом переключении xserver это делать? Слабо представляю автоматизацию этого процесса.

alozovskoy ★★★★★
() автор топика
Ответ на: комментарий от alozovskoy

parcellite умеет оунить CLIPBOARD. Следовательно, он получает событие при смене CLIPBOARD (вообще, это можно и без него сделать). Следовательно, можно дописать в него запуск того же xsel.

На деле тут максимум строк 80 на C и XLib, но я не помню его достаточно. Есть эвент на смену селекшнов, если тебя интересует только CLIPBOARD — оно даже работает (GTK+ совершенно укуренно работает с PRIMARY, впрочем, неудивительно. В Qt тоже иногда встречается, но реже на пару порядков. Девелоперы остальных тулкитов думают, что обновлять PRIMARY при каждом сдвиге мыши на пиксель ненормально, поэтому с ними проблем нет).

x3al ★★★★★
()
Ответ на: комментарий от x3al

Но разве parcellite и прочие не привязываются к конкретной иксовой сессии? Мне это видится так: В буфер попадает текст - текст копируется куда-то, где он не зависит от иксов - в другой сессии этот скопированные текст попадает обратно в иксовый буфер.

C и XLib

Увы, тут я ноль.

UPD. Я понял после повторного прочтения ответа, о чем ты, но, как уже сказал, править исходники не силен, хотя попробовать можно...

alozovskoy ★★★★★
() автор топика
Ответ на: комментарий от alozovskoy

Повторяю: В ИКСАХ НЕТ БУФЕРОВ.

Тут нужно дописать одну-две строки в parcellite либо скопипастить с изменениями http://wahjava.wordpress.com/2006/08/25/xfixes-or-ऐक्स-जुगाड़/ (заменить PRIMARY на CLIPBOARD, открывать две иксовые сессии и соответственно ловить события на обоих и тупо по наступлению события работать с CLIPBOARD на другой сессии, способ для ленивых — system(«DISPLAY=:1 xsel -c СОДЕРЖИМОЕ_CLIPBOARD»).

x3al ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.