Ruslan Brest, rb.labtodo.com
Backend web-developer: CodeIgniter, PHP, MySQL, OpenCart, PrestaShop, MaxSite CMS

Clipboard Catcher для линуксоидов (bash, xclip)

19 февраля 2015 г. Ruslan Brest Просмотров: 2392 RSS 2
Linux » Howto

Давно пользуюсь такой штукой, но поискал и оказалось, что мне не приходило в голову поделиться рецептом. Пользователи WikidPad поймут с полуслова, остальные... ну не знаю, поймут как-нибудь.

При запущенной утилитке всё, что копируется в клипборд, дублируется в текстовый файл. Очень удобно, когда предстоит много копи-паста: позволяет избавиться от Alt-Tab, Ctrl-V, Alt-Tab после каждого Ctrl-C.

Итак, `~/bin/cbc`:

#!/bin/bash
## Clipboard catcher
## first parameter (optional) -- log file name
##
## @author Ruslan Brest, mailto:r-b@mail.ru
## @date   05/07/2013
FILE=clipboard-continous.txt
DELIMITER="\n<hr />\n"
# Prevent pasting previously existing clipboard content:
PREV_CB=`xclip -o -selection clipboard`
CB=""
## Set log file name given by user
if [ "$1" != "" ]; then FILE=$1; fi
## capture clipboard content
while true
do
	CB=`xclip -o -selection clipboard`
	if [ "$CB" != "$PREV_CB" ]
	then
		echo -e "$CB" >> $FILE
		echo -e $DELIMITER >> $FILE
		PREV_CB=$CB
	fi
	sleep 1s
done

Как пользоваться? Набираем в консоли `cbc`. Копируем, копируем, копируем, копируем (по Ctrl-C)... Переключаемся опять в консоль, где запущен `cbc`, и прерываем его по Ctrl-C. Ищем файл clipboard-continous.txt - там всё награбленное.

Если нет `xclip` - устанавливаем. Для убунту - sudo apt-get install xclip

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru digg.com friendfeed.com liveinternet.ru livejournal.ru yandex.ru del.icio.us
Более 1000 готовых шаблонов Opencart для интернет-магазинов
Комментариев: 2
  1. а может в цикле

    sleep 0.1

  2. 2016-02-28 в 09:51:11 | Ruslan Brest

    Да, наверное :)

    Спасибо, процессору полегчало. Себе поставил `sleep 1s`, т.к. всё равно не смогу физически чаще, чем раз в 2-3 секунды, выделять и копировать.

    Заодно починил вставку в файл того, что было в клипборде до запуска скрипта. Всегда приходилось удалять это оттуда, не знаю, почему раньше не пришло в голову заглянуть и переделать.

Оставьте комментарий!

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Имя и сайт используются только при регистрации

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

Авторизация  Facebook. MaxSiteAuth. Loginza

(обязательно)