Всем доброго времени!В один прекрасный момент меня достало:
- Нажимать PrintScreen
- Искать место куда же его сохранить
- Открывать сервис imageshack\radikal\хабр-эффект
- Искать на диске, куда же я сохранил все таки именно этот скриншот
- Копировать полученную ссылку, и делать с ней .....
Теперь я делаю:
- Нажимаю Ctrl+/
- Копирую полученную ссылку и делаю с ней .....
Неправдо ли лучше? И вас это тоже достало? Тогда лезем под кат!
А тут у нас нет ничего сложно, но сначала немного истории ;)
Захотев сделать user-friendly инструмент, я честно скачал исходники gnome-utils в котором лежит gnome-screenshot, но поняв, что допиливание этого «чуда» будет куда сложнее, интерестнее и медленне чем написание очередного комманд-лайнера, я полез в man curl… Сразу скажу, что не стоит злоупотреблять этим скриптом. Мы ведь не хотим нагрузить наш сервис по самые ��ши, чтобы он стал тормозить, или еще чего нибудь хуже? Поэтому просто делаем скриншоты, и не злоупотребляем.
Я написал реализацию для трех популярных и известных файлохостингов:
radikal.ru
ImageShack
Хабр-Эффект
Для работы этого детища нам понадобятся следующие утилиты:
scrot curl xsel
В Debian\Ubuntu подобных системах поставить их можно следующей коммандой:
sudo aptitude install scrot curl xsel
Далее, создаем файл
sudo touch /usr/sbin/screen.sh
Делаем его исполняемым
sudo chmod +x /usr/sbin/screen.sh
Открываем ваш любимый редактор, и вставляем слудщий код:
#!/bin/bash
scrot /tmp/screen.png
curl -F "upload=yes" -F "filename=@/tmp/screen.png" http://www.radikal.ru/action.aspx | grep "input_link_1\"" | cut -d "\"" -f4 | tee -ai /var/log/screens.log | xsel -b -i ;
tail -n 1 /var/log/screens.log | xargs -I _ google-chrome _ ;
notify-send "Загрузка скриншота" "Скриншот был успешно загружен" -i /usr/share/icons/gnome/scalable/emblems/emblem-default.svg -t 5000 ;
curl -F "upload=yes" -F "file=@/tmp/screen.png" -L http://habrastorage.org/storage/habraeffect/05/68/056805cc524b8f502bd06f517fb65059.pngupload.php | grep -e "original-link" | awk -F"\"" '{print $10}' | tee -ai /var/log/screens.log | xsel -b -i ;
tail -n 1 /var/log/screens.log | xargs -I _ google-chrome _ ;
notify-send "Загрузка скриншота" "Скриншот был успешно загружен" -i /usr/share/icons/gnome/scalable/emblems/emblem-default.svg -t 5000 ; ImageShack по какой то мне не ведомой причине не хочет принимать такие png'шки, поэтому для него используем jpg. Может подскажите?
#!/bin/bash
scrot /tmp/screen.jpg
curl -F "upload=yes" -F "fileupload=@/tmp/screen.jpg" http://www.imageshack.us/upload_api.php | grep "image_html" | awk -F"="" '{print $2}' | cut -d "&" -f1 | tee -ai /var/log/screens.log | xsel -b -i ;
tail -n 1 /var/log/screens.log | xargs -I _ google-chrome _ ;
notify-send "Загрузка скриншота" "Скриншот был успешно загружен" -i /usr/share/icons/gnome/scalable/emblems/emblem-default.svg -t 5000 ;
Выбираете для себе то что хотите, и оставляйте только ОДНУ строчку с curl'ом.
Далее лепим в горячих клавишах, у меня в гноме, у вас это может быть по другому, открытие по кнопкам нашего скрипта.
habrastorage.org/storage/habraeffect/05/68/056805cc524b8f502bd06f517fb65059.pngfiles/1a8/ef227f182/screen.png
Вот пример для гнома.
Вот теперь и все)
P.S. Предлагаю Вам создать нечто подобное и для других фотохостингов. Обязательно включу в статью ;)
UPD0. Добавил возможность копирования ссылки в буфер обмена с использованием xsel