pubblicato Domenica 03 Febbraio del 2008 alle 09:59.

Ho reinserito nei miei Nautilus-script un vecchio g-script che fa' delle istantanee del desktop - screenshot - in formato "jpeg" in ambiente Gnome. Attenzione, lo script non funziona correttamente quando è attivo il dock AWN. È un problema di Imagemagick che non supporta gli effetti "composite".

Ecco lo script gsnapshot:
#!/bin/bash
#
# AUTHOR: Maurizio di NuvoleSparse
#
# License: GNU General Public version 2 or any later version.
# This program comes with ABSOLUTELY NO WARRANTY; for details
# see the COPYING file or visit "http://www.gnu.org/licenses/gpl.html".
# This is free software, and you are welcome to redistribute it under
# certain conditions. See the GPL license for details. 
#
#  Dependence:
#					ImageMagick
#

usa_printf(){
	    inizio=0
	    fine=1024
	    p=1
	    while [ $p != ultima ]; do
		printf "${temp:inizio:fine}" |
		zenity --text-info --title="gsnapshot - \
parte $p" &
		inizio=$(( inizio+1024 ))
		fine_ipotetica=$(( inizio+fine ))
		if [ ${#temp} -lt $fine_ipotetica ]; then
		    p="ultima"
		    printf "${temp:inizio:fine}" | zenity --text-info \
	--title="gsnapshot - parte $p"
		    break
		fi
		p=$(( p+1 ))
	done
}

##main

### trucco per evitare l'ostacolo di un path errato
### quando si avvia uno Gscript dalla Scrivania
PERCORSO="`echo $NAUTILUS_SCRIPT_CURRENT_URI| sed "s&^file://&&"`"
[ -n "$PERCORSO" ] &&  cd "$PERCORSO"

filename=Schermata_`date +%F|sed "s/-/_/g"`.jpg
n=1
while  [ -e "$filename" ]; do
	filename=Schermata_`date +%F|sed "s/-/_/g"`_$n.jpg
	n=$(( $n+1 ))
done
import -silent -window root -pause 5 -snaps 1 $filename 2>>/tmp/snapshot.log
if [ -s "/tmp/gsnapshot.log" ]; then
	echo -e "Lo script e' terminato." >>/tmp/gsnapshot.log
	temp="$(cat "/tmp/gsnapshot.log")"
	if [ ${#temp} -gt 1024 ]; then
		usa_printf
	else
		cat "/tmp/gsnapshot.log" | zenity\
--title="Errore - gsnapshot"\
--text-info
	fi	
	rm -f /tmp/gsnapshot.log || zenity --title="gsnapshot" --error\
--title="Attenzione"\
--text="Non e' stato possibile rimuovere il file /tmp/gsnapshot.log! :-("
else
	zenity --title="gsnapshot" --info --text="Lo script e' terminato."
fi
exit 0
Attenzione: gli script sono pubblicati SOLO a scopo dimostrativo (didattico) e ASSOLUTAMENTE SENZA GARANZIA: l'autore nega qualsiasi responsabilità di danni riscontrabili a seguito del loro uso (mancato funzionamento, errori ed eventuale perdita di dati, etc). Gli script sono pubblicati con la licenza d'uso GNU General Public License, peraltro ottenibile al seguente link GNU/GPL.

Aggiornamento
Sembra che il problema con gli effetti composite sia stati risolti

Ultimo aggiornamento 24 Ottobre 2008


powered by FreeFind
Il sito è una creazione di Maurizio... ed è pubblicato sotto una Licenza CC; esso non viene aggiornato
in maniera periodica, pertanto non può essere considerato un prodotto editoriale ai sensi della legge n. 62 del 7.03.2001.