2017-02-01 6 views
1

Как скопировать строку в буфер обмена? Я бы хотел избежать QT и, к сожалению, я только нахожу фрагменты для Windows.Linux/C++ Копирование строки в буфер обмена

+0

В какой системе вы спрашиваете? Или, точнее, какая среда рабочего стола? –

+0

Я нахожусь на arch/cinnemon, но я бы хотел оставить его открытым – user273032

+0

Дело в том, что вы не можете держать его открытым. Буферы работают по-разному в разных системах, и, насколько я знаю, нет стандартного способа взаимодействия с ними. –

ответ

1

Вы всегда можете напрямую взаимодействовать с xlib, но таким образом lies madness (предупреждение о языке).

Если вы создаете графическое приложение, лучше всего использовать любой интерфейс, который предоставляет ваш инструментарий GUI (например, QClipboard для QT). Если вы создаете приложение с командной строкой, просто переходите к чему-то вроде xsel.

Если вы действительно хотите использовать только xlib, то вы должны помнить одну вещь: X не владеет буфером обмена; клиентам принадлежит буфер обмена. Ваш основной рабочий процесс будет состоять в том, чтобы позвонить XSetSelectionOwner, а затем сесть и обработать XSelectionRequestEvent, пока какой-либо другой клиент не уйдет от вас.
Если вы ищете пример, источник xsel довольно прост. После этого ICCCM - это место для просмотра.

+0

Нет графического интерфейса пользователя, небольшой скриншот. У меня есть все, что нужно, чтобы захватить изображение (с xlib ^^), чтобы загрузить его и получить URL-адрес в виде строки. Теперь мне просто нужно скопировать строку в буфер обмена – user273032

 Смежные вопросы

  • Нет связанных вопросов^_^