LINUX.ORG.RU

Ответ на: комментарий от beastie

Спасибо. Буду разбираться. Мне если что, нужно послать paste другому окну(не моему).

dmitriys
() автор топика

Я бы подсмотрел как это делает тот же rofimoji, который вставляет выбранный emoji в текущее окно.

emorozov
()

послать сообщение paste

Насколько я понимаю, такого сообщения просто нет.

Приложения запрашивают содержимое буфера обмена. Обычно они это делают, когда пользователь нажимает Ctrl+V, Shift+Insert или выбирает пункт меню. Поэтому скорее всего, тебе нужно сэмулировать нажатие чего-то вроде Shift+Insert.

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

Раньше был такой механизм (пример), но нужна поддержка и на уровне WM, и на уровне конкретного клиента:

f.send_msg message_number

This function sends an XClientMessageEvent of type _MOTIF_WM_MESSAGES with message_type set to message_number. The client message is sent only if message_number is included in the client’s _MOTIF_WM_MESSAGES property. A menu item label is grayed out if the menu item is used to do f.send_msg of a message that is not included in the client’s _MOTIF_WM_MESSAGES property.

В EWMH этого нет.

Сейчас эту функцию выполняет D-Bus.

Bass ★★★★★
()
Последнее исправление: Bass (всего исправлений: 1)

Думаю, что копать надо куда-то в сторону man xclip и man xdotool

olegon-ru
()
Ответ на: комментарий от Bass

Я не про сообщения вообще, а про сообщение для вставки из буфера обмена. Оно не имеет смысла.

Допустим, есть текстовый редактор. Зачем ему поддерживать сообщение о вставке из буфера обмена? Какую задачу это решает? Пользователь сам решает, когда и куда хочет что-то вставить. И тогда уже приложение запрашивает содержимое буфера, по поручению пользователя.

i-rinat ★★★★★
()

только если код «текущего окна» доступен, потому что в X11 механизм получения буфера таков именно окно запрашивает все буферы когда хочет. И буферов не три, а может быть сколько угодно под своими именами.

окну когда нужен буфер создает эвент XCB_SELECTION_REQUEST, и ловит XCB_SELECTION_NOTIFY от других окон где есть буферы

anonymous2 ★★★★★
()
Последнее исправление: anonymous2 (всего исправлений: 3)
Ответ на: комментарий от Bass

Там какие-то лютые хаки в статье. Можно же просто менять текст другого окна указав HWND.

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