Newsgroup: it.comp.software.newsreader
Titolo: Script per faces random

Il sonno della ragione genera script. 
Visto che prima avevo i neuroni in `sleep $RANDOM` state ecco quel che ne è 
venuto fuori...
Prendete una directory, riempitela di jpg 48x48 e fate partire face2face ogni
volta che volete postare. Vedremo poi come aggiungere l'header generato.
Ecco lo script:
--8<-- CUT HERE --8<-- 
#!/bin/bash
#
# face2face v1.0
# by k|b|s <joegalaxy(at)despammed(dot)com>
# License: GPL - 
http://www.gnu.org/licenses/gpl.txt
#
# Prende un'immagine a caso da una directory e la converte
# in header da aggiungere ai tuoi post/followup/mail
#
# Modify to fit your needs
HEADER=/home/kbs/.face_hdr   # File where to put the header
DIR=/home/kbs/faces          # /Dir where find your 48x48 jpgs
#
#### Don't touch ####
#
# Start
tmp=/tmp/random.tmp
tmpjpg=/tmp/randomjpg.tmp
tmpface=/tmp/randomface.b64
count=`ls $DIR|wc -l`
quant=16
found=false
#
# Randomize 
let "pick = $RANDOM % $count"
let "pick += 1"
ls $DIR|sed -n "$pick"p > $tmp
#
# Make face
while [ "$found" = "false" ]; do
    djpeg "`cat $tmp`"\
        | ppmnorm\
        | pnmscale -width 48 -height 48\
        | ppmquant $quant\
        | pnmtopng\
        | mimencode > $tmpjpg
    size=`ls -l $tmpjpg | awk '{ print $5; }'`
    if [ $size -lt 999 ]; then
        echo -n "Face:" > "$tmpface"
	# echo > "$tmpface"  # Se usi la macro 
headers.sl
 
        for i in `cat $tmpjpg`; do
            echo -n " " >> "$tmpface"
            echo "$i" >> "$tmpface"
        done
        found=true
    else
        quant=`expr $quant - 2`
    fi
done
#
# Strip face
sed -e :a -e '$!N;s/\n //;ta' -e 'P;D' $tmpface > $HEADER
#
rm $tmp $tmpjpg $tmpface
--8<-- CUT HERE --8<-- 
Come aggiungere l'header al post (ovviamente modificate i path secondo
necessità):
--> SLRN
#### Metodo 1 ####
Se usate vim come $EDITOR aggiungete questa riga al vostro vimrc:
--8<-- CUT HERE --8<-- 
" Mappa vim per le random faces su mutt e slrn
map ,mt 1G}-1:r /home/kbs/.face_hdr<CR>
 if has("autocmd")
   autocmd BufRead *article*,*letter*,*followup*,*tmp/mutt* :normal ,mt
 endif
--8<-- CUT HERE --8<-- 
Per eseguire face2face ogni volta che editate un post aggiungete ora al vostro
slrnrc:
--8<-- CUT HERE --8<-- 
set post_editor_command "face2face; vim %s"
--8<-- CUT HERE --8<-- 
#### Metodo 2 ####
Utilizzate la macro di Emmanuele, 
headers.sl
, e come custom_header command
metterete: `cat /home/kbs/.face_hdr`
Mettete anche in slrnrc il post_editor_command "face2face"
Questo metodo non l'ho testato, probabilmente sarà anche necessario cambiare
qualcosa. (a naso l'ho già fatto)
#### Metodo 3 ####
Mettelo nel cron...
--> TIN
Non testato. A occhio:
Io modificherei questa riga in .tin/tinrc
# default_sigfile=!command   executes external command to generate a signature
e ci metterei:
default_sigfile=!`face2face; cat .signature`
Così mi dovrebbe scrivere la firma normalmente e contemporanemente eseguire
face2face. Poi per editarlo negli header userei il map visto in precedenza con
vim. Il tutto in teoria. Tiners, sappiatemi dire di più.
--> Altri
Se vi danno la possibilità di usare un editor esterno, con vim siete a posto.
La metodica è quella di prima. Far eseguire il comando e poi (xterm -e) vim.
Non chiedetemi la face doppia. Non chiedetemi lo shot del calendario (anche se
ci ho già pensato...)
Flames, bugs, commenti, add-ons sono i benvenuti.
Have fun ;^)
-- 
BOFH Excuse #397:
T-1's congested due to porn traffic to the news server.
k|b|s ~> mailto `echo ti.gulgb@sbk|'rev'`

 ci ho già pensato...)
Già, la data...
 
date '+%a%n%e %m%n%Y'| pbmtext -builtin=fixed > data.pbm
convert -resize 48x48 data.pbm data.jpg
ecc ecc.
Boh.
-- 
BOFH Excuse #251:
Processes running slowly due to weak power supply


 convert -resize 48x48 data.pbm data.jpg
non male. quasi quasi, magari come X-Face... vedremo.
-- 
aavv - non piu' i cadaveri dei soldati/mariposa - monti di mola

 venuto fuori...
Grazie, vedro' di capirmelo ben bene con calma. 
Intanto me lo bookmarko ;-)
-- 
Marie Dany Keisler

 non male. quasi quasi, magari come X-Face... vedremo.
Però con i font builtin si vede poco. Ho provato a passarla per figlet ma non
mi ha soddisfatto. La cosa migliore è fare il tuofont.pbm.
ciao
-- 
BOFH Excuse #62:
need to wrap system in aluminum foil to fix problem


 La cosa migliore è fare il tuofont.pbm.
cioé?
-- 
aavv - non piu' i cadaveri dei soldati/chichimeca - coda di lupo

 cioé?
C'è la procedura su 
netpbm.sf.net
, vedi la man page di pbmtotext.
Io ci ho provato e non è male.
ciao
-- 
BOFH Excuse #233:
TCP/IP UDP alarm threshold is set too low.
