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