![]() |
|
migrating 2.8 bash scripts to gimp 3 - Printable Version +- Gimp-Forum.net (https://www.gimp-forum.net) +-- Forum: GIMP (https://www.gimp-forum.net/Forum-GIMP) +--- Forum: Extending the GIMP (https://www.gimp-forum.net/Forum-Extending-the-GIMP) +---- Forum: Scripting questions (https://www.gimp-forum.net/Forum-Scripting-questions) +---- Thread: migrating 2.8 bash scripts to gimp 3 (/Thread-migrating-2-8-bash-scripts-to-gimp-3) Pages:
1
2
|
migrating 2.8 bash scripts to gimp 3 - vince - 03-09-2026 Hello, new to this forum I hope someone here could help me a little bit. As I upgraded from debian 12 to debian 13, gimp was upgraded to version 3. I have a set of short scripts that allowed me to invoke gimp (at least until version 2.8) from a linux bash console. Now they fail, so I have to adapt them to recent changes. The one question I still stumble on is the ability to set a drawable in my image. The former syntax does not work anymore : Code: (drawable (car(gimp-image-get-active-drawable image)))so that I can't do anything on a specific layer e.g. desaturate : Code: (gimp-drawable-desaturate drawable 0)Thanks in advance, Vince. RE: migrating 2.8 bash scripts to gimp 3 - programmer_ceds - 03-09-2026 (03-09-2026, 11:53 AM)vince Wrote: Hello, In this case you need gimp-image-get-selected-drawables which returns a list of the selected drawables. Use "Help/Procedure Browser" to search for key words in the functions that you need to updated. Also looking at the built-in scripts may help you. RE: migrating 2.8 bash scripts to gimp 3 - vince - 03-09-2026 (03-09-2026, 04:33 PM)programmer_ceds Wrote: In this case you need gimp-image-get-selected-drawables which returns a list of the selected drawables. Thank you for your help, yes, I've struggled with this solution, but it seems there's something I don't do the right way to handle the array of drawables. This works: Code: gimp -i --quit --batch-interpreter=plug-in-script-fu-eval -b \Code: gimp -i --quit --batch-interpreter=plug-in-script-fu-eval -b \throws me the following error: Code: Error: vector-ref: argument 1 must be: vectorI'm sorry in advance for my poor knowledge of this Scheme syntax... RE: migrating 2.8 bash scripts to gimp 3 - MrsP-from-C - 03-09-2026 looking at GIMP's inbuilt scripts it could possibly be Code: (drawable (vector-ref (car (gimp-image-get-selected-drawables image)) 0))RE: migrating 2.8 bash scripts to gimp 3 - rich2005 - 03-09-2026 100% not script-fu fan but I have come across that vector error before so trying this in a Mint 22.3 / Gimp 3.0.8 (from PPA). Works but throws up warnings. Quote:rich@rich-3:~$ gimp -i --quit --batch-interpreter=plug-in-script-fu-eval -b \ Just a remark, but an option for Gimp 3 is the batcher plugin https://kamilburda.github.io/batcher/ It is remarkably flexible for processing files and images with layers. RE: migrating 2.8 bash scripts to gimp 3 - vince - 03-09-2026 (03-09-2026, 06:50 PM)rich2005 Wrote: (03-09-2026, 06:37 PM)MrsP-from-C Wrote: Thank you for these solutions! both suggestions succeed. Perhaps did I miss it, is there an official documentation for the Scheme syntax? or should we just rely on a bunch of examples? Happy to have landed on gimp-forum, thanks again. V. (03-09-2026, 08:25 PM)vince Wrote: Thank you for these solutions! both suggestions succeed.but then... Code: gimp -i --quit --batch-interpreter=plug-in-script-fu-eval -b \Code: Error: in script, expected type: numeric for argument 1 to gimp-drawable-desaturateDoes this mean that gimp-drawable-desaturate expects a number (sort of index of drawables) instead of my declared my-drawable layer? I'm puzzled. RE: migrating 2.8 bash scripts to gimp 3 - vince - 03-09-2026 Sorry for the previous message, I got lost. Here is a working solution (that from MrsP-from-C): Code: gimp -i --quit --batch-interpreter=plug-in-script-fu-eval -b \Now, I notice the good old plug-in-colortoalpha is absent from the procedure browser.
RE: migrating 2.8 bash scripts to gimp 3 - MrsP-from-C - 03-10-2026 As you asked for official documentation .... Some is here: https://developer.gimp.org/resource/script-fu/ Maybe Mark Sweeney's site might help you: https://script-fu.github.io/funky/ Most helpful is just to look at the scripts that ship with GIMP. RE: migrating 2.8 bash scripts to gimp 3 - vince - 03-10-2026 (03-10-2026, 06:50 AM)MrsP-from-C Wrote: As you asked for official documentation .... Nice, the road is actually long and steep! Do you have any suggestion about the missing plug-in-colortoalpha? I can't find where I read it was now a GEGL filter. Is there a simple way to run such command in a "one-liner" script? V. RE: migrating 2.8 bash scripts to gimp 3 - MrsP-from-C - 03-10-2026 Looks like it's a GEGL Operation now: https://gegl.org/operations/gegl-color-to-alpha.html No idea how to handle those in script-fu. But you'll find examples for similar procedures in clothify.scm, if you search for gegl: |