#!/bin/bash
# snapshoot-kde4.sh - optimized for KDE4, tested on KDE 4.2.4
# powtrix, 2009.10.06
DIR="${HOME}/snapshoots"
DATE="$(date +%Y%m%d@%H%M%S)"
NAME="${DIR}/pow-${DATE}.png"
LOG="${DIR}/snapshoots.log"
MD5SUMS="${DIR}/MD5SUMS"
PID=""
vai_ksnapshoot()
{
# setGrabMode notes: 0=full-screen, 1=window, 2=region
kstart -iconify ksnapshot && sleep 0.2
while [ "$PID" == "" ]; do PID="$(pgrep ksnapshot)"; done
program="org.kde.ksnapshot-${PID}"
qdbus $program /KSnapshot setGrabMode "$1"
qdbus $program /KSnapshot setTime 0
qdbus $program /KSnapshot slotGrab
sleep 8
qdbus $program /KSnapshot setURL "${NAME}"
qdbus $program /KSnapshot slotSave
qdbus $program /KSnapshot exit
}
if [ ! -d "${DIR}" ]; then mkdir "${DIR}"; fi
if [ "$1" = "scr" ]; then vai_ksnapshoot 0; fi
if [ "$1" = "win" ]; then vai_ksnapshoot 1; fi
if [ "$1" = "area" ]; then vai_ksnapshoot 2; fi
if [ "$1" = "" ]; then echo "use as opcoes $0 [win|scr|area]." && exit 1; fi
if [[ $# = 0 ]]; then
echo "No screenshot area has been specified. Screenshot not taken."
echo "${DATE}: No screenshot area has been defined. Screenshot not taken." >> "${LOG}"
else
echo "${NAME}" >> "${LOG}"
cd "${DIR}" && md5sum "pow-$DATE.png" -b >> "${MD5SUMS}"
grep "$DATE" "${MD5SUMS}"
fi