05-27-2025, 08:30 PM
(This post was last modified: Yesterday, 07:07 AM by rich2005.
Edit Reason: replaced mime encoded image
)
Hi,
I'd appreciate some help with the migration of one of my Python-based Gimp 2.10 plugins to Gimp 3. I've already managed to write two unrelated plugins that do some import/export shenanigans so I am able to add new plugin, debug it somewhat etc.
However, I have three issues:
1) It seems that not all Procedure::add_xy_argument work or at least they don't behave as intended. My understanding is that calling:
will render all arguments that I added to a procedure. That doesn't seem to happen. For example, uint argument doesn't show up while int argument does. Is it that some arguments require extra leg work during the initialization of ProcedureDialog to show up?
2) It seems that I am not able to simply add widgets to ProcedureDialog, I can only refer to id's added to the procedure during do_create_procedure. Therefore, I can't for example add buttons with callback actions or a dropdown that would list all layer groups but not regular layers. Is there any workaround for this?
3) I didn't find a way to disable a bunch of default buttons that render for each plugin, namely these:
Is it possible to hide all of these?
Now why am I asking? Here's a plugin demo I have for 2.10:
![[Image: tile_preview.gif]](https://raw.githubusercontent.com/nerudaj/gimp-pixel-art-utils/main/docs/tile_preview.gif)
As you can see, this plugin is only a preview with its own rendering canvas to which I copy layers selected in the dropdown menus. I am attempting to port it to Gimp3, but I don't know how to interface with Gtk3 directly so I can add whatever widgets I need during plugin run and not during initialization (not to mention I can't add buttons). Source for the 2.10 plugin is here: gimp-pixel-art-utils/tile-preview/tile-preview.py at main · nerudaj/gimp-pixel-art-utils
Any ideas how to achieve the same result in Gimp3?
I'd appreciate some help with the migration of one of my Python-based Gimp 2.10 plugins to Gimp 3. I've already managed to write two unrelated plugins that do some import/export shenanigans so I am able to add new plugin, debug it somewhat etc.
However, I have three issues:
1) It seems that not all Procedure::add_xy_argument work or at least they don't behave as intended. My understanding is that calling:
Code:
dialog = GimpUi.ProcedureDialog.new(procedure, config, plug_in_name)
dialog.fill()
2) It seems that I am not able to simply add widgets to ProcedureDialog, I can only refer to id's added to the procedure during do_create_procedure. Therefore, I can't for example add buttons with callback actions or a dropdown that would list all layer groups but not regular layers. Is there any workaround for this?
3) I didn't find a way to disable a bunch of default buttons that render for each plugin, namely these:
Is it possible to hide all of these?
Now why am I asking? Here's a plugin demo I have for 2.10:
![[Image: tile_preview.gif]](https://raw.githubusercontent.com/nerudaj/gimp-pixel-art-utils/main/docs/tile_preview.gif)
As you can see, this plugin is only a preview with its own rendering canvas to which I copy layers selected in the dropdown menus. I am attempting to port it to Gimp3, but I don't know how to interface with Gtk3 directly so I can add whatever widgets I need during plugin run and not during initialization (not to mention I can't add buttons). Source for the 2.10 plugin is here: gimp-pixel-art-utils/tile-preview/tile-preview.py at main · nerudaj/gimp-pixel-art-utils
Any ideas how to achieve the same result in Gimp3?