Захват буфера обмена для Linux он может захватить содержимое буфера обмена (или первичного выбора), поскольку он меняется, когда программа работает, и распечатать его в Stdout. Вы также можете запустить какую -то команду на каждом захвате.
Например, работа с аргументами -p -c "notify-send" будет отправлять уведомление каждый раз, когда вы выбираете что -то.
Сделано для замены и добавления более функциональности к:
Демо, показывающая простой захват и первичный захват.

Демо, показывающая фильтрацию захвата, выполнение команды и исправление количества захват.

-a, --append Do not clear output file before writing to it использования с флага -o , записывает новое содержимое в конце выходного файла.
-c, --command <COMMAND> Command to run on each entry [default: ] Запускает данную команду для каждого захвата. Команда должна быть просто именем бинарного на вашем пути или пути к сценарию. Сценарий не может принять аргументы, поэтому сделайте сценарий, который принимает единый аргумент (захват контент).
-f, --filter <FILTER> Filter the capture to matching regex pattern [default: ] фильтруют захват, только захват, который содержит заданный фильтр, будет запечатлен, а другие будут отброшены. Это из ящика regex .
-h, --help Print help information
-n, --count <COUNT> Only capture this many times, 0 for infinity [default: 0] чтобы использоваться в сценариях, чтобы не заставлять программы ждать вечно. Это закончится после захвата COUNT .
-o, --output <OUTPUT> Output File to write the captured contents [default: ] чтобы написать захват, используйте -a флаг с этим, чтобы добавить вместо этого.
-p, --primary Use Primary Selection instead of Clipboard (Linux) для Linux он может захватить основной выбор, чтобы вам не приходилось копировать текст. Наиболее полезно для меня, особенно для выделения слов и использования -c , чтобы отправить это слово в словарь.
-q, --quiet Do not print anything to stdout, ignores `separator`
-r, --refresh-rate <REFRESH_RATE> Refresh Rate in miliseconds [default: 200] проверял, как часто контент буфера обмена проверяется, слишком часто означает, что у вас будет высокое использование процессора, слишком редко, и вы можете что-то пропустить. Вы, вероятно, не очень быстрее, так что поместите разумное время.
-s, --separator <SEPARATOR> Separator between two entries for output [default: "n"] Некоторый сепаратор между захватом, при захвате некоторых координат или некоторых значений, вы можете поместить что-то вроде ", " или STH.
Команда может быть только правильной командой, поэтому, если вы хотите запустить что -то сложное, создайте файл скрипта, который принимает только один аргумент, и сделает этот сценарий исполняемым, и передайте его в качестве команды.
Я сделал это для поиска в словаре. Таким образом, мой вариант использования просто выбирает одно слово для запуска команды для словаря, чтобы получить это слово, поэтому я не тестировал на различные сценарии.
Файл конфигурации для написания шаблонов, например, шаблон «уведомления» будет иметь команду notify-send . Шаблоны должны иметь возможность иметь позицию для захваченного текста вместо того, чтобы добавлять его в конце, как сейчас.
Шаблоны должны быть в состоянии облегчить много вещей, а также по умолчанию.