Pythonで作成したGIMP用プラグインを実行後、その操作を取り消すと、特に何も設定していなければ、プログラムに書かれている操作過程一つ一つを取り消すことになります。従って、プラグインで指定した操作全体を一挙に取り消すことができません。
そこで、プラグインデイ指定した操作全体を一挙にキャンセルできるようにするために、gimp-image-undo-group-start と gimp-image-undo-group-end というAPIが用意されています。
例えば...
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from gimpfu import *
def My_Plugin(image)
pdb.gimp_image_undo_group_start(image)
一連の手続き
pdb.gimp_image_undo_group_end(image)
return
register(... 以下略
とすると pdb.gimp_image_undo_group_start(image) と pdb.gimp_image_undo_group_end(image) の間に挟まれている一連の手続きが、プラグイン実行後、[編集]→[元に戻す]を実行すると、一挙にキャンセルされます。これを書かないと、一連の手続きの一つ一つごとに、[元に戻す]が実行される結果となります。