====== Script-Fu Introduction ====== There are many web sites on the Internet with information relating to the Script-Fu plug-in of [[http://www.gimp.org/|GIMP]]. Some of those sites have information which is either out-of-date or which is misleading or inaccurate. My primary area of interest regarding GIMP development for many years has been the Script-Fu plug-in of GIMP and the associated scripts. The scripts are written in a language called [[wp>Scheme]]. I am still determining what information should be included in these pages and how best to organize them. For now, you can see below a list of the topics I am planning to cover with the pages I will eventually be adding. ====== Planned Topics ====== * Script-Fu vs. Tiny-Fu * TinyScheme vs. SIOD * [[writing|Writing a script]] * [[writing#Named_constants|Named constants]] * Using named constants in a list in a register block * [[writing#Register_block_arguments|Register block arguments]] * [[writing#Internally_defined_functions|Internally defined functions]] * [[writing#The_re_and_ftx_extensions|The re and ftx extensions]] * [[writing#SIOD_compatability_routines|SIOD compatability routines]] * [[writing#script-fu_coding_style|Script-Fu coding style]] * [[tutorials|Tutorials]] * Calling GIMP functions * Calling functions in other Script-Fu scripts * Using the Procedure Browser * Error handling in scripts * Using catch and throw * Pushing and popping error handlers * Working with parasites * Using batch mode * Using server mode * [[debug|Debugging tips and tricks]] * Using the Script-Fu Console * Using 'load' to read updated scripts from a file * Running GIMP from a command line * Miscellaneous * [[updating-scripts|Updating scripts for use with TinyScheme]] * Using the script update tool * [[faq|Frequently Asked Questions]] ====== Important References ====== ===== Books and Documents ===== * [[http://www.schemers.org/Documents/Standards/R5RS/r5rs.pdf|R5RS]]: The Scheme standard which TinyScheme attempts to follow :!: * [[http://www.schemers.org/Documents/Standards/R6RS/r6rs.pdf|R6RS]]: The current Scheme standard * [[http://www.scheme.com/tspl3/|The Scheme Programming Language]] (book available on-line) ===== Other resources ===== * [[http://tinyscheme.sourceforge.net/|TinyScheme]] * [[http://groups.yahoo.com/group/script-fu/|Script-Fu mailing list]] * [[http://www.gimp.org/mail_lists.html|GIMP mailing lists]]