Re: [Gimp-developer] gimpfu port to Gimp 3



Alex: yes, I understood most of that by browsing the repository, but it is good to restate it for other 
readers.

Some plugins, like foggify.py have been ported, but only partially, without the GUI.  If you look at the 
history (in the repository), you can see that it formerly was a “gimpfu” plugin i.e. it “from gimpfu import 
*”.

If gimpfu had been ported first, the former foggify.py might work without porting (or just minor changes.)  I 
am not trying to criticize the order in which things were done, I realize that the port of foggify was 
pioneering, to test the machinery at lower levels.  I have looked at the ported code myself to see how to do 
things (although I think despeckle.c or some other might be a more definitive, complete example of all the 
things a well-behaved plugin should do.)

GimpFu simplifies writing plugins in Python.  It generates GUI dialog automatically, provides aliases “gimp” 
and “pdb”, and has only two other methods “register” and “main”.  So loosely speaking you can write a gimpfu 
plugin knowing little more than the PDB.

Other parts of PyGimp provide pythonic classes for Gimp classes, such as “gimp.Image” (note the lower case 
“g”, it is not the gobject introspected Gimp.Image.)  These classes have many “convenience” methods (not 
found elsewhere?)  Many plugins that use gimpfu also use the convenience classes.

I can see that the PyGimp classes are now less useful, since now GI gives you much the same thing.  All an 
author needs to do is translate from the language of the PyGimp classes to the very similar language of GI of 
Gimp.

To elaborate my original question: has anyone decided that the convenience of gimpfu (and/or the other parts 
of PyGimp) is not useful anymore?  I gather that the answer is: some of it might be useful, we just haven’t 
done it yet, its much, hard work, and noone understands the code anymore.

If there are plans to automatically generate plugin GUI, but implemented cross-language, as Elad suggested….. 
 then any port of gimpfu could omit writing that in Python and introspected gtk3.

I think the gimpshelf module of pygimp (that provides session persistent storage, mainly for plugin settings) 
is deprecated because the capability is in Gimp class gimp_procedure_config now.

I think the gimpui module of pygimp (that lets authors use libgimpui i.e. Gimp provided widgets e.g. color 
picker) could be deprecated because authors can use GI, and as far as I can determine, there are extremely 
few plugins in the wild that ever used it.





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]