Also ich suche eine Möglichkeit den Fortschritt eines beliebigen Kopiervorganges grafisch darzustellen. Da ich KDE nutze (KDE3) fällt die Wahl auf KDialog und da die Option Progressbar (einfaches Bsp. siehe hier)
M.E. sind zwei Dinge von Bedeutung um das ganze zum Gelingen zu führen:
1. Die DCOP - ID des gestarteten KDialog-Progresses. Macht man soweit ich das verstanden habe via:
Code:
dcopID=`kdialog --progressbar "Irgendwas" 10`
und einen Wert der die einzelnen Schritte des ganzen Prozesses anzeigt bzw. wie oft der Balken sich ändert bis er 100% erreicht. Wir nehmen hier mal 60 zwecks Bsp. weiter unten...
2. while COPYVORGANGNOCHLÄUFT do HOCHZÄHLENVONPROGRESSBAR
Ein Bsp. welches m.E. mir aber nicht viel nützt wäre:
Code:
maxnum=60
num=0
while [ $num -lt $maxnum ]
do
num=$(($num + 1))
dcop $dcopRef setProgress $num
sleep 1
done
Mein Problem ist nun, das ich irgendwie rausfinden muss wieviel schon kopiert wurde. WEnn ich das weiss könnte ich nämlich das obige Bsp. wie folgt anpassen:
Code:
totalsize= `ls -s MyCopyFile.avi | awk '{print $1}' `
copysize=0
while [ $copysize -lt $totalsize ]
do
# hier halt rausfinden wieviel schon kopiert wurde...
copysize = ???
dcop $dcopRef setProgress $copysize
sleep 1
done
So sollte das doch funktionieren, oder? Wie gesagt - wenn mir jetzt noch jemand sagen könnte wie ich die bereits kopierten Bytes rausbekommen könnte... DANKE im voraus!
Lesezeichen