#! /bin/bash
#
# Script to start decode QR-Codes from the desktop with
# ksnapshot, zbarimg and xclip to the KDE-clipboard
# first, find the running instance of ksnapshot
wasrunning="yes"
pid="`pidof -s ksnapshot`"
if [ -z "$pid" ]
then
wasrunning=""
kstart -iconify ksnapshot && sleep 0.2
while [ "$pid" == "" ]; do pid="$(pgrep ksnapshot)"; done
fi
echo $pid
sleep 1
echo "Setting url $url to PNG"
url="file:///tmp/$pid-qrcode.png"
echo `qdbus org.kde.ksnapshot-$pid /KSnapshot org.kde.ksnapshot.url`
echo $url
qdbus org.kde.ksnapshot-$pid /KSnapshot org.kde.ksnapshot.setURL $url
echo "setUrl done set to:"
echo `qdbus org.kde.ksnapshot-$pid /KSnapshot org.kde.ksnapshot.url`
echo "set GramMode to 2 (rectangle)"
qdbus org.kde.ksnapshot-$pid /KSnapshot org.kde.ksnapshot.setGrabMode "2"
echo "set delay to 0"
qdbus org.kde.ksnapshot-$pid /KSnapshot org.kde.ksnapshot.setTime "0"
qdbus org.kde.ksnapshot-$pid /KSnapshot org.kde.ksnapshot.slotGrab
sleep 5
qdbus org.kde.ksnapshot-$pid /KSnapshot org.kde.ksnapshot.slotSave
eval=`qdbus org.kde.ksnapshot-$pid /KSnapshot org.kde.ksnapshot.exit`
echo "finished .."
echo "evaluate QR-Code and copy to clipboard"
if [[ -s $url ]]; then
(zbarimg -q --raw $url || dmtxread $url) | xclip -i
fi