Pull to refresh

Обмен скриншотами в интернете

Reading time2 min
Views890
Часто при общении в интернете бывает необходимо по-быстрому показать собеседнику снимок экрана (окна программы), чтобы помочь ему справиться с проблемой или решить свою проблему.
Для этого можно пойти долгим путём — сохранить снимок в файл, зайти на соответствующий хостинг, загрузить туда результат, и полученную ссылку дать собеседнику. Но можно максимально упростить себе жизнь, один раз написав несложный скрипт, который выполнит всю рутинную работу.



Поскольку я пользуюсь KDE, то для своих целей применяю следующие утилиты:
xsnap — для собственно снятия скриншота (вариант — scrot);
uimge — для заливки изображения на хостинги;
kdialog — для вывода окошек и уведомлений (стандартная утилита KDE, варианты — xdialog, gtkdialog);
klipper — для помещения ссылки в буфер обмена (стандартная утилита KDE, варианты — glipper).

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

#!/bin/sh
rm -f /tmp/xsnap.png
xsnap -fn -misc-*-*-*-*-*-*-*-*-*-*-*-*-* -png -file /tmp/xsnap.png
hosting=$(kdialog --title Uimge --menu "Залить скриншот на:" \
savepic  "savepic.ru" \
funkyimg "funkyimg.com" \
smages  "smages.com" \
radikal  "radikal.ru" \
opicture "opicture.ru" \
ipicture "ipicture.ru" \
upimg   "upimg.ru" \
piccy   "piccy.info" \
picamatic "picamatic.com" \
keep4u  "keep4u.ru" \
4picture "4picture.ru" )
url=$(/usr/bin/uimge --${hosting} /tmp/xsnap.png 2> /dev/null)
if [ "${url}" != "" ]
then qdbus org.kde.klipper /klipper org.kde.klipper.klipper.setClipboardContents "${url}"
kdialog --passivepopup "Скриншот успешно размещён на сервере"
else kdialog --sorry "Не удалось разместить скриншот на сервере"
fi

* This source code was highlighted with Source Code Highlighter.

Основной объём работы выполняет утилита uimge, про которую на хабре уже писали, представляющая из себя скрипт на python. Скачать (в том числе версию под Windows) можно на домашней страничке, имеется также сборочный файл (ebuild) для Gentoo Linux.

Всё остальное — для красоты и удобства.





Это был мой первый топик на хабре.
Tags:
Hubs:
Total votes 19: ↑17 and ↓2+15
Comments6

Articles