#! /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