Pull to refresh

Screen Shot script

Reading time 3 min
Views 8.6K
image Всем доброго времени!
В один прекрасный момент меня достало:
  1. Нажимать PrintScreen
  2. Искать место куда же его сохранить
  3. Открывать сервис imageshack\radikal\хабр-эффект
  4. Искать на диске, куда же я сохранил все таки именно этот скриншот
  5. Копировать полученную ссылку, и делать с ней .....

Теперь я делаю:
  1. Нажимаю Ctrl+/
  2. Копирую полученную ссылку и делаю с ней .....

Неправдо ли лучше? И вас это тоже достало? Тогда лезем под кат!

А тут у нас нет ничего сложно, но сначала немного истории ;)
Захотев сделать 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
Tags:
Hubs:
+19
Comments 83
Comments Comments 83

Articles