Hier ein paar einfache kleine Beispiele für Zenity …............. ….........

Getestet mit Kanotix-Dragonfire

http://kanotix.acritox.com/files/trialshots/kanotix64-acritox-trialshot-121015a.iso

mehr zum Betriebssystem unter www.kanotix.de

Bitte keine e-mail schreiben oder Fragen stellen. Kann sie doch nicht beantworten, bin noch in der Ausbildung...................... ...

*##########################################################################################################################################*

Lottozahlengenerator



#! /bin/bash
#gibt 6 Zahlen von 1 - 49 aus

zenity --question \
--title="LOTTO - TIP" \
--ok-label="TIP" \
--cancel-label="Nein - Danke" \
--text="<span background=\"#E7FF00\"font=\"DejaVu Sans 48\"foreground=\"#FF1500\"> LOTTO </span>" ;

if [ $? = 0 ];then  
zenity --info \
--title "LOTTO" \
--text "$(seq 49 | sort -R| head -6 |sort -n | fmt | tr " " "-")"
else
exit
fi


*##########################################################################################################################################*

Lottozahlengenerator - auswahl - radiolist



#! /bin/bash
#gibt 6 Zahlen von 1 - 49 aus

answer=`zenity --title="Lotto" --width=150 --height=300 \
--text="<span background=\"#E7FF00\"font=\"DejaVu Sans 48\"foreground=\"#FF1500\"> LOTTO </span>\n
<b>hier die Anzahl der Tips auswählen</b>" --list  --radiolist  --column "select" --column "Tips" TRUE "1" FALSE "2" FALSE "3" FALSE "4" FALSE "5" FALSE "6"`
if [ $? -eq 1 ]; then
    exit
else   
    case "$answer" in
    "1")
        zenity --info \
--title "LOTTO" \
--text "\n\n\n\n\n<b>$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')                        </b> "
        ;;
    "2")
        zenity --info \
--title "LOTTO" \
--text "\n\n\n\n\n<b>$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')                         \n
$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')</b>                         "
        ;;
    "3")
        zenity --info \
--title "LOTTO" \
--text "\n\n\n\n\n<b>$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')                         \n
$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')                         \n
$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')</b>                         "
        ;;
    "4")
        zenity --info \
--title "LOTTO" \
--text "\n\n\n\n\n<b>$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')                         \n
$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')                         \n
$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')                         \n
$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')</b>                         "
        ;;
    "5")
        zenity --info \
--title "LOTTO" \
--text "\n\n\n\n\n<b>$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')                         \n
$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')                         \n
$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')                         \n
$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')                         \n
$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')</b>                         "
        ;;
    "6")
        zenity --info \
--title "LOTTO" \
--text "\n\n\n\n\n<b>$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')                         \n
$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')                         \n
$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')                         \n
$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')                         \n
$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')                         \n
$(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ /     /g')</b>                         "     
        ;;
    *)
        echo "case $answer not implemented yet."
        ;;
    esac
fi



Das script werde ich noch verkleinern ist nur mal ein Test mit --list --radiolist

Nach einer Idee von hier. http://www.youtube.com/watch?v=WWjYCpymsuo&feature=relmfu

*###########################################################################################################################################*

Lottozahlengenerator in Datei speichern


#! /bin/bash
#gibt 6 Zahlen von 1 - 49 aus und speichert es in lottoschein.txt

zenity --question \
--title="LOTTO - TIP" \
--ok-label="TIP" \
--cancel-label="Nein - Danke" \
--text="LOTTO" ;

if [ $? = 0 ];then   
echo $(seq 49 | sort -R| head -6 |sort -n | fmt | sed -e 's/ / - /g') >$HOME/lotto/lottoschein.txt ;
zenity --info --title "LOTTO" --text "`cat $HOME/lotto/lottoschein.txt`"

else
exit
fi


Hier ein einfaches Beispiel ohne Textformat. Sollten die oben gezeigten Beispiele nicht funktionieren, dann Textformat entfernen. Ihr braucht unter HOME ein Verzeichnis lotto. Dieses script speichert die Ausgabe in der Datei lottoschein.txt im

Verzechnis lotto. Neue Konsole öffnen - Befehl:

mkdir lotto

erstellt dieses Verzeichnis oder über den Dateimanager erstellen. Wenn ihr die >$HOME/lotto/lottoschein.txt in >>$HOME/lotto/lottoschein.txt ändert wird der neue Tip in der Datei eingefügt.

Ich habe ein Ergebnis-Script mit den Zahlen der letzten Ziehung gebastelt. Sieht jetzt nicht schön aus, aber bei 21 Tips 5 Dreier nicht schlecht. OK im Script war ein Fehler, doch keine Dreier nur Zweier. Auch nur im Märchen bekommt die arme

Müllerstochter den Prinzen und das ganze Königreich. Es geht aber so – eine Datei(ziehung_zahlen.txt) mit 6 Zeilen(in jeder Zeile eine Zahl aus der Ziehung). Befehl siehe Foto, wenn jetzt eine Zeile alles rot ist dann habt ihr den Haupgewinn.
















Funktion -n in grep Zeilennummer anzeigen. Solltet ihr schon länger als 1 Stunde wie ich hiermit beschäftigt haben, dann seit ihr suchtgefährdet. Den Fehler im Script suche ich evtl. später. Ergebnis auswerten hier getestet.


*###########################################################################################################################################*

einfaches janein-script



#! /bin/bash
#blauer Hintergrund und gelbe Schrift "KANOTIX"
#andere Farben mit Befehl "zenity --color-selection" mit Pipette Farbe aufnehmen
#in diesen kleinen Beispiel sind für die Schaltfläche diese Funktion zugeordnet(ja=exit;nein=Standartbrowser+www.kanotix.de)

zenity --question \
--title="Willkommen bei" \
--window-icon=/usr/share/icons/oxygen/16x16/places/start-here-kanotix.png \
--ok-label="kenne ich schon" \
--cancel-label="kenne ich nicht" \
--text="<span background=\"#1A4986\"font=\"DejaVu Sans 48\"foreground=\"#FCE6AF\">
                 \
\n  KANOTX  
                 \
</span>" ; \

if [ $? = 0 ];then   
exit
else
x-www-browser www.kanotix.de &
exit
fi


Schaltfläche(kenne ich schon) = beenden

Schaltfläche(kenne ich nicht) = Standartbrowser wird geöffnet

*#########################################################################################################################################*

Benachrichtigungen über Anrufer mit Sprachausgabe für Programm kfritz




#!/bin/sh
# kfritz & espeak -v german-mbrola-7 -s 125 "Anruf von %Name (%Number)"

tail -n1 $HOME/fritz_anruf/anruf.txt |sed -e 's/<b>//g;s/<.*$//' |cut -d" " -f11,12,13,14,15 >$HOME/fritz_anruf/name.txt

#cat $HOME/fritz_anruf/name.txt | espeak -v german-mbrola-7 -s 100

espeak -v german-mbrola-7 -s 100  "hallo `whoami` ein Anruf von   

`cat $HOME/fritz_anruf/name.txt`

ist  angekommen " &

zenity --info --title="Anruf" --text="\n\n\n<span size='xx-large'color='blue'>`cat $HOME/fritz_anruf/name.txt`</span>"
#kdialog --msgbox  "<FONT SIZE=6>`cat $HOME/fritz_anruf/name.txt`</FONT>" --title "Anruf"

exit




Es werden u. a. folgende Pakete gebraucht kfritz, espeak, mbrola, mbrola-de7.

Im Verzeichnis Home muss ein Ordner fritz_anruf vorhanden sein.

In diesem Verzeichnis muss eine Datei anruf.txt vorhanden sein,

oder Script anpassen. Es ist eingestellt auf zenity, für kdialog – in Zeile kdialog …

# entfernen und in Zeile zenity ...# setzen.

Einstellungen in kfritz!

kfritz → Menü → Einstellungen → Benachrichtigungen einrichten →

eingehender Anruf → In Protokolldatei schreiben = Pfad zu „anruf.txt“

Programm ausführen = Pfad zu „script“

Wer es ohne kfritz testen möchte, erstellt unter HOME das Verzeichnis fritz_anruf und in diesen Verzeichnis die anruf.txt mit dieser Zeile.

- KNotify Do. Nov 22 21:49:41 2012: Eingehender Anruf von <b>ich bin ein Testruf</b><br/>xxxxx;x xxxxxxx

Für espeak – siehe auch hier. Mit epeak - Text aus der Zwischenablage vorlesen

*#############################################################################################################################################*

Gui für Befehl „timidity -iA -B2,8 -Os1l -s 44100“



#!/bin/bash
if zenity --question --title='start timidity' --text='<span size="xx-large"color="green">START !!!</span> \n\n
<span color="blue">timidity -iA -B2,8 -Os1l -s 44100</span> \n
Dies lädt timidity++ als Midi-Server und 2 Midi-Ports, \
128:0 und 128:1 geöffnet. \
Nach dem Start können Sie ein anderes Terminal öffnen \
und einen Befehl eigeben wie z. B. \n
<span color="blue">pmidi -p 128:0 beispiel.mid</span> \n
Leerzeichen in Dateiname - Dateiname in Anführungszeichen setzen! \
Beispiel: \n
<span color="blue">pmidi -p 128:0 "Meine neue Oper.mid"</span> \n
Beenden von pmidi. \n
Tasten <span size="x-large"color="blue">Strg</span> + <span size="x-large"color="blue">c</span>\n
Programme wie rosegarden und vmpk normal über das Menü starten. \
Im Prgramm die Midi-Einstellungen af timidity anpassen.';
then
timidity -iA -B2,8 -Os1l -s 44100  &
zenity --progress  --percentage=50 --pulsate <<<50  \
--ok-label="AKTIV" \
--cancel-label="STOP" \
--title="stop timidity" --text '<span size="xx-large"color="red">STOP !!!</span> \n
Beenden! \n
<span color="blue">timidity -iA -B2,8 -Os1l -s 44100</span>'
killall timidity
else
 exit
fi


Es werden u. a. folgende Pakete gebraucht timidity.

Mehr Info zu Befehl – siehe hier. https://help.ubuntu.com/community/Midi/SoftwareSynthesisHowTo?action=show&redirect=MidiSoftwareSynthesisHowTo

*##############################################################################################################################################*

Xwinwrap + Screensaver + eigenen Einstellungen und DVB + Kanal oder Video + Datei oder Verzeichnis


#! /bin/bash
#xwinwrap + Bildschirschoner + Text oder Programm und dvb + Sender
VERZ="/usr/lib/xscreensaver"
TEXT1="zenity --scale --text=Transparenz --value=100 --min-value=1 --max-value=100"
TEXT2="-window-id WID"
Programm=$(zenity --file-selection --text "Dies ist eine Datei-Auswahl-Dialog-Box" --title="Progamm - Auswahl") ;
function menu {
AUSWAHL=`zenity --list --radiolist --width=380 --height=250 --ok-label="Start" --cancel-label="Beenden" --text "Bildschirmschoner auswählen!" \
--title "XWINWRAP" \--column="Auswahl" --column Bildschirmschoner --column Beschreibung \\n\"\" gltext_mit_text "gltext + eigenen Text" \
\"\" gltext "gltext + Programm" \\n\"\" fliptext "fliptext + Programm" \\n\"\" phosphor "phosphor + Programm" \\n\"\" starwars "starwars + Programm" \
\"\" fontglide "fontglide + Programm" \\n\"\" noseguy "noseguy + Programm" \\n\"\" alle_xscreensaver "Screensaver - Auswahl" \
\"\" dvb "dvb + Kanalauswahl" \\n\"\" video "Auswahl - Datei" \\n\"\" videos_im_verzeichnis "Verz. Videos in Home"\\`
if [ -z "$AUSWAHL" ];then
        zenity --info --text "Danke für die Benutzung" && killall xwinwrap
elif [ "$AUSWAHL" = gltext_mit_text ];then
        auswahl_gltext_mit_text
elif [ "$AUSWAHL" = gltext ];then
        auswahl_gltext
elif [ "$AUSWAHL" = fliptext ];then
        auswahl_fliptext
elif [ "$AUSWAHL" = phosphor ];then
        auswahl_phosphor
elif [ "$AUSWAHL" = starwars ];then
        auswahl_starwars
elif [ "$AUSWAHL" = fontglide ];then
        auswahl_fontglide
elif [ "$AUSWAHL" = noseguy ];then
        auswahl_noseguy
elif [ "$AUSWAHL" = alle_xscreensaver ];then
        auswahl_alle_xscreensaver   
elif [ "$AUSWAHL" = dvb ];then
        auswahl_dvb      
elif [ "$AUSWAHL" = video ];then
        auswahl_video 
elif [ "$AUSWAHL" = videos_im_verzeichnis ];then
        auswahl_videos_im_verzeichnis
fi
}
function auswahl_gltext_mit_text {
text=$(zenity --entry --text "Bitte hier deinen Text eingeben")   
tranzparent=$($TEXT1 | sed 's/$/\ /g;/^[1-9]\ /s/^/0/;s/^/0./;s/0.100/1.0/');
xwinwrap -ni -o $tranzparent -argb -fs -s -st -sp -nf -b -- $VERZ/gltext $TEXT2 -text "$text"  & menu
}
function auswahl_gltext {
tranzparent=$($TEXT1 | sed 's/$/\ /g;/^[1-9]\ /s/^/0/;s/^/0./;s/0.100/1.0/');
xwinwrap -ni -o $tranzparent -argb -fs -s -st -sp -nf -b -- $VERZ/gltext $TEXT2 -program $Programm & menu
}
function auswahl_fliptext {
tranzparent=$($TEXT1 | sed 's/$/\ /g;/^[1-9]\ /s/^/0/;s/^/0./;s/0.100/1.0/');
xwinwrap -ni -o $tranzparent -argb -fs -s -st -sp -nf -b -- $VERZ/fliptext $TEXT2 -program $Programm & menu
}
function auswahl_phosphor {
tranzparent=$($TEXT1 | sed 's/$/\ /g;/^[1-9]\ /s/^/0/;s/^/0./;s/0.100/1.0/');
xwinwrap -ni -o $tranzparent -argb -fs -s -st -sp -nf -b -- $VERZ/phosphor $TEXT2 -program $Programm & menu
}
function auswahl_starwars {
tranzparent=$($TEXT1 | sed 's/$/\ /g;/^[1-9]\ /s/^/0/;s/^/0./;s/0.100/1.0/');
xwinwrap -ni -o $tranzparent -argb -fs -s -st -sp -nf -b -- $VERZ/starwars $TEXT2 -program $Programm & menu
}
function auswahl_fontglide {
tranzparent=$($TEXT1 | sed 's/$/\ /g;/^[1-9]\ /s/^/0/;s/^/0./;s/0.100/1.0/');
xwinwrap -ni -o $tranzparent -argb -fs -s -st -sp -nf -b -- $VERZ/fontglide $TEXT2 -program $Programm & menu
}
function auswahl_noseguy {
tranzparent=$($TEXT1 | sed 's/$/\ /g;/^[1-9]\ /s/^/0/;s/^/0./;s/0.100/1.0/');
xwinwrap -ni -o $tranzparent -fs -s -st -sp -nf -b -- $VERZ/noseguy $TEXT2 -program $Programm & menu
}
function auswahl_alle_xscreensaver {
scr=$(ls /usr/lib/xscreensaver/);
scrx=$(zenity --window-icon=icons/wait.png --list $scr --column  Screensaver --title "Screensaver - Auswahl");
tranzparent=$($TEXT1 | sed 's/$/\ /g;/^[1-9]\ /s/^/0/;s/^/0./;s/0.100/1.0/');
xwinwrap -ni -o $tranzparent  -fs -s -st -sp -nf -b -- $VERZ/$scrx $TEXT2  & menu
}
function auswahl_dvb {
kanal=$(cat $HOME/.mplayer/channels.conf | cut -d":" -f1 | sed -e 's/ /_/g');
auswahl=$(zenity --window-icon=icons/wait.png --list $kanal --column  Sender --title "Sender - Auswahl")
kanalx=$(echo $auswahl | sed -e 's/_/ /g')
tranzparent=$($TEXT1  | sed 's/$/\ /g;/^[1-9]\ /s/^/0/;s/^/0./;s/0.100/1.0/');
xwinwrap -ni -o $tranzparent -fs -s -st -sp -nf -b -- mplayer DVB://"$kanalx" -wid WID -cache 8192 -quiet & menu
zenity --info --text=Beenden
}
function auswahl_video {
film=$(zenity --file-selection --text "Dies ist eine Datei-Auswahl-Dialog-Box" --title="Film - Auswahl") ;
tranzparent=$($TEXT1 | sed 's/$/\ /g;/^[1-9]\ /s/^/0/;s/^/0./;s/0.100/1.0/');
xwinwrap -ni -o $tranzparent -fs -s -st -sp -nf -b -- mplayer -wid WID -quiet  { "$film" } -loop 0    & menu
zenity --info --text=Beenden
}
function auswahl_videos_im_verzeichnis {
tranzparent=$($TEXT1 | sed 's/$/\ /g;/^[1-9]\ /s/^/0/;s/^/0./;s/0.100/1.0/');
xwinwrap -ni -o $tranzparent -fs -s -st -sp -nf -b -- mplayer -wid WID -quiet  { "$HOME/Videos/"* } -loop 0    & menu
zenity --info --text=Beenden
}
menu


Es öffnet sich eine Dateiauswahl – hier die wer_bin_ich.sh auswählen. Siehe dazu Bildschirmschoner mit eigenen Einstellungen und animierter Desktop mit xwinwrap

Wer nur gltext mit eigenen Text testen möchte kann hier auf Abbrechen klicken. Die Funktion -argb ist evtl. aus den Befehl zu entfernen.

Habe dafür ein neues  Programm mit Gambas gebaut. hier

********************************************************************************************

Hier noch einige Funktionen zu xwinwrap ohne Zenity.

IBM T41 1024 x 768                                                                                                                    Desktop 1440 x 900


xwinwrap -o 0.5 -sh circle -ov -g 408x408+455+224 -- /usr/lib/xscreensaver/compass -window-id WID

xwinwrap -o 0.5 -sh circle -ov -g 185x185+922+399 -- /usr/lib/xscreensaver/compass -window-id WID


Zum beenden.

killall xwinwrap



 


Befehle nach Wunsch anpassen. Hier ein Video mit der Option -circle ->hier und hier beim Start von KDE4.


*##############################################################################################################################################*

neuer Beitrag !!!