Metacity je spravce oken v Gnome (i kdyz muzete pouzivat i jine), nejedna se o subsystem pro temata.
Vkladam navod na vytvoreni jednoducheho cteciho programu, ktery cte oznaceny text. Nejsem si ted jist, jestli jste si predstavoval neco takoveho, ale verim, ze na cteni textu pouzit jde. Mozna to ma jeste nejake mouchy. Jelikoz program xclip nepracuje s unicode zrovna nejlepe, bylo nutne vytvorit mensi workaround a pohrat si s kodovanim. Taktez v programu festival je nutne prevadet text do kodovani iso-8859-2.
UPDATE: Tento skript je jiz neaktualni, prosim ctete vlakno http://forum.ubuntu.cz/index.php/topic,29092.msg217419.html#msg217419Nainstalovat balik "xclip", "cstocs", "festival-czech" a "festvox-czech-ph" se vsemi jejich zavislostmi.
Vytvorte soubor demo.txt s obsahem:
(voice_czech_ph)
(SayText "příšerně žluťoučký kůň úpěl ďábelské ódy")
Nyni vyzkousime funkcnost prikazem:
$ cstocs utf8 il2 demo.txt | festival --pipe
Meli bychom slyset libe ceske skrehotani. Pokud tomu tak je, pristoupime k vytvoreni programu na cteni textu.
Bohuzel potrebujeme take program "native2ascii", ktery se nachazi v Java-JDK (coz je verze Javy urcena k vyvoji programu, ne pouze JRE = behove prostredi). Pokud jej mame nainstalovan, lokalizujeme tento program pomoci nasledujiciho postupu. V opacnem pripade bude nutne nejdrive nainstalovat Java-JDK, jedna se napr. o balik sun-java6-jdk.
$ locate native2ascii
/var/lib/dpkg/alternatives/native2ascii
/etc/alternatives/native2ascii
/usr/bin/native2ascii
/usr/lib/jvm/jdk1.6.0_01/bin/native2ascii
/usr/lib/jvm/jdk1.6.0_01/man/man1/native2ascii.1
/usr/lib/jvm/jdk1.6.0_01/man/ja_JP.eucJP/man1/native2ascii.1
Vetsina z uvedenych souboru jsou pouze symlinky nebo se nejedna o binarky. Nas zajima soubor
"/usr/lib/jvm/jdk1.6.0_01/bin/native2ascii". Tuto cestu si poznacime.
Vytvorime soubor "reknito" s nasledujicim obsahem, pricemz na patem radku uvedeme nami nalezenou cestu k programu "native2ascii".
#!/bin/bash
# skript RekniTo cte text ze schranky pomoci TTS programu festival
# nastavime cestu k programu native2ascii
native2ascii="/usr/lib/jvm/jdk1.6.0_01/bin/native2ascii"
# nastavime nazev pro docasne soubory
tmpfile="/tmp/reknito.tmp"
# ziskame obsah clipboard a trochu si pohrajeme s kodovanim (xclip nepracuje az tak dobre, jak by mel)
xclip -o > $tmpfile
# odstranime uvozovky, pokud je chceme cist, staci prikaz zamenit tim zakomentovanym
sed -e 's/"//g' $tmpfile > $tmpfile.1
#sed -e 's/"/ uvozovky /g' $tmpfile > $tmpfile.1
cstocs il2 utf8 $tmpfile.1 > $tmpfile.2
$native2ascii -reverse $tmpfile.2 > $tmpfile.3
# vytvorime docasny soubor pro festival
echo "(voice_czech_ph)" > $tmpfile.4
echo '(SayText "' >> $tmpfile.4
cat $tmpfile.3 >> $tmpfile.4
echo '")' >> $tmpfile.4
# prevedeme text zpet do iso-8859-2 a nechame festival text precist
cstocs utf8 il2 $tmpfile.4 | festival --pipe
Nyni udelame soubor "reknito" spustitelnym.
$ chmod a+x reknito
Vyzkousime funkcnost programu. Oznacime mysi nejaky text (pouze oznacime, nic vic) a spustime program "reknito"
$ ./reknito
Pocitac by mel precist oznaceny text.
Pokud vse funguje jak ma, staci jiz vytvorit nejaky hezky spoustec pro program "reknito" a pretahnout jej treba do panelu.
Az zas nekdy budu mit chvilku, pokusim se skript upravit, aby sel pouzivat take s TTS programem Epos, ktery mluvi lepe (i kdyz pry jen omezenou mnozinu slov).