Code: Select all
yad --timeout=$x --button=cancel && cancel action || timeout action
A trivial tip, but mine own
Code: Select all
yad --timeout=$x --button=cancel && cancel action || timeout action
Code: Select all
[[ $x =~ [0-9]+ ]] && yad --timeout=$x --button=cancel && echo cancel action || echo timeout action
Code: Select all
]#!/bin/bash
# Bilder konvertieren (Einzeln)
cd $HOME/Bilder/
TITLE="Bild konvertieren"
TEXT="<span foreground='red'><b><big><big>
Bitte das gewünschte Bildformat wählen, eine beliebige Datei selektieren und mit 'OK' fortfahren!
</big></big></b></span>"
filename=$(yad --width=1600 --height=600 --window-icon="$HOME/.icons/Movies-icon24.png" --title="$TITLE" --file-selection \
--text="$TEXT" --button=" Abbrechen!$HOME/.icons/Button-stop-icon24.png":1 --button=" OK!$HOME/.icons/Accept-icon24.png":0 \
--file-filter='*.png' --file-filter='*.jpg' --file-filter='*.tif')
pfadname=${filename}
verz=${filename%/*}
datm=${pfadname##*/}
dato=${datm%.*}
cd "$verz"
[[ -z "$filename" ]] && exit 0
case $filename in
*.png)
echo "Konvertierung des Bildes "$datm" läuft...";
convert "$datm" -resize 50% "$datm"-neu.png
yad --text="<span color='red'>Die Konvertierung des Bildes
$datm
wird erzeugt...</span>" --width=550 --window-icon="$HOME/.icons/Movies-icon24.png" \
--title="Verlaufskontrolle" --text-align=center --no-buttons --timeout=3;
;;
*.jpg)
echo "Konvertierung des Bildes "$datm" läuft...";
convert "$datm" -resize 50% "$datm"-neu.jpg
yad --text="<span color='red'>Die Konvertierung des Bildes
$datm
wird erzeugt...</span>" --width=550 --window-icon="$HOME/.icons/Movies-icon24.png" \
--title="Verlaufskontrolle" --text-align=center --no-buttons --timeout=3;
;;
*.tif)
echo "Konvertierung des Bildes "$datm" läuft...";
convert "$datm" -resize 50% "$datm"-neu.tif
yad --text="<span color='red'>Die Konvertierung des Bildes
$datm
wird erzeugt...</span>" --width=550 --window-icon="$HOME/.icons/Movies-icon24.png" \
--title="Verlaufskontrolle" --text-align=center --no-buttons --timeout=3;
;;
esac
exit 0
You made one for each forum. (•‿•)achim wrote:Hello everybody,
I have created a YAD code to convert images. Now I want to make the fixed 50% but flexible. For this I need one, however, an additional input field. Can someone tell me if another query is needed or can I do everything with the following
Code: Select all
mkfifo /tmp/testpipe
exec 8<> /tmp/testpipe
yad --text-info --listen --width=200 --height=200 <&8 &
while sleep 8
do
echo -e '\f' >/tmp/testpipe
yad --entry >/tmp/testpipe
done
Code: Select all
....
z=0
for f in *.jpg; do name=`echo "${f%.*}"`; echo "Kopiervorgang des Bildes "$f" läuft...";
rsync -t $CAMERA/"$f" $ZIEL/$DATE/;
z=$[$z+1];
TEXT='<span color=\"blue\" font="Monospace italic 12">
Der Kopiervorgang des Bildes
'$f'
wird als laufende Nr. '$z' durchgeführt...
</span>'
yad --text="$TEXT" --width=600 --fixed --window-icon="$HOME/.icons/Movies-icon24.png" \
--title="Verlaufskontrolle" --text-align=center --no-buttons --timeout=1;
done
echo $z Bilder kopiert.
....
Code: Select all
cd $CAMERA/
(
z=0
for f in *.jpg; do name=`echo "${f%.*}"`; echo "Kopiervorgang des Bildes "$f" läuft..."
rsync -t $CAMERA/"$f" $ZIEL/$DATE/;
z=$[$z+1];
echo "Der Kopiervorgang des Bildes"
echo "$f"
echo "wird als laufende Nr. $z durchgeführt..."
echo "$z Bilder kopiert"
done
) | yad --text="Kopiervorgang des Bildes" --width=600 --height 200 --fixed --window-icon="$HOME/.icons/Movies-icon24.png" --text-info --wrap --tail \
--title="Verlaufskontrolle" --text-align=center --no-buttons
Code: Select all
while true; do read ound; echo "$ound"; done | yad --text-info --listen --width=200 --height=200
because you want the last value assigned to z, not the first. So z gets updated on each iteration of the loop. You could write it to a file in /tmp ((NOTE BENE not '[' but '(( ))'fredx181 wrote:Hi achim, probably there are different ways, but what I would do is pipe to a yad --text-info dialog, like this:Code: Select all
cd $CAMERA/ ( z=0 for f in *.jpg; do name=`echo "${f%.*}"`; echo "Kopiervorgang des Bildes "$f" läuft..." rsync -t $CAMERA/"$f" $ZIEL/$DATE/; z=$(($z+1)); export z; echo "Der Kopiervorgang des Bildes" echo "$f" echo "wird als laufende Nr. $z durchgeführt..." echo "$z Bilder kopiert" done ) | yad --text="Kopiervorgang des Bildes" --width=600 --height 200 --fixed --window-icon="$HOME/.icons/Movies-icon24.png" --text-info --wrap --tail \ --title="Verlaufskontrolle" --text-align=center --no-buttons
Code: Select all
z=$((z + 1)); echo "z=$z" >/tmp/z