#!/bin/bash #Testing progran . /home/default #set -x . ~/bin/fontlist.txt PROGRAMS "convert gimp montage mogrify jhead" WALLMAKER () { #Make the text {{{ # Random {{{ RANDOM=$(head -n 1 /dev/urandom | od -N 1 | awk '{ print $2 }') D1=$((RANDOM%64)) D2=$((RANDOM%64)) D3=$((RANDOM%64)) C1=`echo "scale=0; 20 + ((($D1*2) * 1.5)/2)"|bc` C2=`echo "scale=0; 20 + ((($D2*2) * 1.5)/2)"|bc` C3=`echo "scale=0; 20 + ((($D3*2) * 1.5)/2)"|bc` RND=$((RANDOM%4)) case $RND in 0) RND=0.5;; 1) RND=2;; *) RND=1;; esac B1=`echo "scale=0; ((($C1*2) * $RND)/2)"|bc` B2=`echo "scale=0; ((($C1*2) * $RND)/2)"|bc` B3=`echo "scale=0; ((($C1*2) * $RND)/2)"|bc` FONT=($FONTS) NUM_FONT=${#FONT[*]} FONT=${FONT[$((RANDOM%NUM_FONT))]} TRANS="transparent" F_COL="rgba($C1,$C2,$C3,0.3)" COLOR="rgb($D1,$D2,$D3)" COLOR2="($D1 $D2 $D3)" COLOR3="rgba($B1,$B2,$B3,1)" # /* }}} */ # Quote {{{ head -n $NUM $TMP | tail -n 2 > $TMP.1 # HEAD=`head -n 1 $TMP.1` # TAIL=`tail -n 1 $TMP.1` head -n 1 $TMP.1 | tail -n 2 | \ convert \ -background $TRANS \ -fill $F_COL \ -pointsize 72 \ -font $FONT \ -size 1200x \ caption:@- $TMP.head.png if [ "$RND" != "1" ] then head -n 1 $TMP.1 | tail -n 2 | \ convert \ -background $TRANS \ -fill $TRANS \ -pointsize 72 \ -font $FONT \ -size 1200x \ -stroke $COLOR3 \ -blur 0x25 \ caption:@- $TMP.head2.png composite -gravity center $TMP.head.png $TMP.head2.png $TMP.head.png fi # }}} # Signature {{{ tail -n 1 $TMP.1 | tail -n 2 | \ convert \ -background $TRANS \ -fill $F_COL \ -pointsize 40 \ -font $FONT \ -gravity East \ -size 1200x caption:@- $TMP.tail.png if [ "$RND" != "1" ] then tail -n 1 $TMP.1 | tail -n 2 | \ convert \ -background $TRANS \ -fill $TRANS \ -pointsize 40 \ -font $FONT \ -gravity East \ -size 1200x \ -stroke $COLOR3 \ -blur 0x25 \ caption:@- $TMP.tail2.png composite -gravity center $TMP.tail.png $TMP.tail2.png $TMP.tail.png fi # }}} montage $TMP.head.png $TMP.tail.png \ -background $COLOR \ -geometry +0+0 \ -tile x2 $TMP.png mogrify -trim -bordercolor $COLOR -border 50x50 $TMP.png # }}} #Make the wallpaper {{{ mogrify -resize 1770x1050 $TMP.png RND=$((RANDOM%3)) case $RND in 0) gimp -i -c -d -b "(batch_fuzzy_border \"$TMP.png\" '$COLOR2 30 FALSE 4.5 TRUE 75 )" -b "(gimp-quit 0)" >> /dev/null 2>&1 ;; 1) convert -mattecolor ${COLOR} -frame 25x25+0+25 $TMP.png $TMP.png ;; *) ;; esac convert -bordercolor ${COLOR} -border 50 $TMP.png $TMP.png convert -size 1920x1200 xc:$COLOR $TMP.jpg C1=`printf %03d $C1` NAME="quote_`date +%Y%m%d`_$NUM$C1.jpg" FILE="/home/houghi/Pictures/to_work_on/download/skins/$NAME" composite -gravity East $TMP.png $TMP.jpg $FILE jhead -cl $NAME $FILE > /dev/null 2>&1 echo "Made $NAME" # }}} } # The first URLs. for URL in http://www.quotationspage.com/data/mqotd.rss http://www.quotationspage.com/data/qotd.rss do #Get the file lynx -source $URL|egrep '|<description>'|head -n 12|tail -n 8 | tac | sed 's/<[^>]*>//g' > $TMP #Make the wallpaper for NUM in 2 4 6 8 do WALLMAKER done done exit