#!/usr/bin/env python3 # -*- coding: utf-8 -*- # shebang & encoding import gi gi.require_version('Gimp', '3.0') from gi.repository import Gimp gi.require_version('GimpUi', '3.0') from gi.repository import GimpUi from gi.repository import GObject from gi.repository import GLib from gi.repository import Gio # Set Libraries # If need more, add import import gettext _ = gettext.gettext def N_(message): return message # Fixed ? def (procedure, run_mode, image, n_drawables, drawables, args, data): config = procedure.create_config() config.begin_run(image, run_mode, args) if run_mode == Gimp.RunMode.INTERACTIVE: GimpUi.init('python-fu-') dialog = GimpUi.ProcedureDialog.new(procedure, config) dialog.fill(None) if not dialog.run(): dialog.destroy() config.end_run(Gimp.PDBStatusType.CANCEL) return procedure.new_return_values(Gimp.PDBStatusType.CANCEL, GLib.Error()) else: dialog.destroy() = config.get_property('') = config.get_property('') # Start Executing Gimp.context_push() image.undo_group_start() # Add Codes # Main Scripting ''' # Call Registed Procedure Sample Gimp.get_pdb().run_procedure('plug-in-plasma', [ GObject.Value(Gimp.RunMode, Gimp.RunMode.NONINTERACTIVE), GObject.Value(Gimp.Image, image), GObject.Value(Gimp.Drawable, mask), GObject.Value(GObject.TYPE_INT, int(time.time())), GObject.Value(GObject.TYPE_DOUBLE, turbulence), ]) ''' # End Executing Gimp.displays_flush() image.undo_group_end() Gimp.context_pop() config.end_run(Gimp.PDBStatusType.SUCCESS) return procedure.new_return_values(Gimp.PDBStatusType.SUCCESS, GLib.Error()) # Registration class (Gimp.PlugIn): ## Parameters ## __gproperties__ = { "": (str, _(""), _(""), _(""), GObject.ParamFlags.READWRITE), "": (float, _(""), _(""), _(", , "), GObject.ParamFlags.READWRITE), } ## GimpPlugIn virtual methods ## def do_query_procedures(self): self.set_translation_domain("gimp30-python", Gio.file_new_for_path(Gimp.locale_directory())) return [ '' ] def do_create_procedure(self, name): procedure = Gimp.ImageProcedure.new(self, name, Gimp.PDBProcType.PLUGIN, , None) procedure.set_image_types("RGB*, GRAY*"); procedure.set_sensitivity_mask (Gimp.ProcedureSensitivityMask.DRAWABLE | Gimp.ProcedureSensitivityMask.DRAWABLES) procedure.set_documentation (N_(""), "", name) procedure.set_menu_label(N_("...")) procedure.set_attribution("", "", "") procedure.add_menu_path ("/Filters/Decor") procedure.add_argument_from_property(self, "") procedure.add_argument_from_property(self, "") return procedure # Entry Point Gimp.main(.__gtype__, sys.argv) ## Create from 2.99.6 Foggify.py (Official)