Если бы я подключил функцию или программу, которая должна выполняться при изменении содержимого системного буфера обмена, из какого файла я должен продолжать проверять или какое событие запускается и как поймать это событие на языке программирования? Или команда, которая может выводить содержимое буфера обмена на терминал, чтобы я мог продолжать выполнять команду после коротких интервалов и видеть, было ли содержимое изменено или нет.
Спасибо
xclip - ваш друг. Посмотрите man-страницу для получения дополнительной информации, но если вы хотите установить буфер обмена (а не выделенный текст), вы можете использовать xclip -sel clip, затем подключиться к его stdin для установки буфера обмена.
Там есть [ f3] для чтения из файла. -sel выбирает буфер буфера обмена, который вы хотите использовать. Есть p (первичный, если вы что-то выбираете. Это то, что выдает middleclick), clip, который используется с CTRL-C и CTRL-V во всех современных средах рабочего стола (QT2 и Emacs 20 используют основной буфер обмена для по какой-то причине).
Чтобы получить содержимое буфера обмена, xclip -sel clip -o (печатает на stdout). Если вы хотите поместить его в файл, есть необязательный параметр -o, чтобы указать файл для его отправки.
Я считаю, что есть некоторая информация в manpage, чтобы читать когда изменяется буфер обмена. Я просто не мог его расшифровать.
Информация здесь: http://standards.freedesktop.org/clipboards-spec/clipboards-latest.txt