Aus GIMPForum
Vielleicht ist es dir schonmal passiert, dass du ein Skript/Plug-In ausführtest und du hast gewartet und gewartet und der Fortschrittsbalken blieb einfach auf 0. Bis es dann nach 10 Minuten werkeln, plötzlich fertig war.
Nunja, Fortschrittsbalken bringen keinen funktionellen Mehrwert, aber es ist als Benutzer einfach schön zu wissen, wie weit das Skript bereits ausgeführt wurde.
Deswegen gibt es hier ein Mini-Kapitel über Fortschrittsbalken, denn dafür, dass sich dieser Balken bewegt, musst du als Skript-Autor sorgen.
GIMP bietet insgesamt neun Funktion (suche nach «progress») für das Verändern des Ladebalkens an, wovon viele aber nur für Plug-Ins und nicht für Skripts gedacht sind.
Uns interessieren nur zwei davon: (gimp-progress-set-text) und (gimp-progress-update)
Die erste Funktion schreibt in den Fortschrittsbalken einen Text rein; somit kannst du dem Benutzer mitteilen, was das Skript gerade macht. Mit der zweiten Funktion kannst du den Fortschritt des Balkens angeben. Wobei du Werte zwischen 0 (leer) und 1 (voll) angeben musst.
Du musst als Autor nun nur noch bestimmen, wann der Balken sich bewegen soll und bei wieviel Prozent er dann etwa steht.
Ich würde einfach schauen, welche Aktionen dauern lange und vor diesen Aktion änderst du den Text mit (gimp-progress-set-text "Jetzt dauerts lange") und nachdem die Aktion ausgeführt wurde, aktualisierst du den Fortschrittsbalken mit (gimp-progress-update 0.5), um ihn beispielsweise auf 50% zu setzen.
Natürlich kannst du den Balken weglassen wenn dein Skript nur wenige Sekunden lang zum Ausführen braucht, aber bei größeren Skripts ist der Benutzer sicher nicht böse, wenn er sieht wie weit das Skript bereits ist.