User Guide
GNU Image Manipulation Program
31 / 653
large number of tools for doing it: an assortment of selection-making tools, a menu of selection operations, and the ability
to switch to Quick Mask mode, in which you can treat the selection channel as though it were a color channel, thereby
‘painting the selection’
Undoing When you make mistakes, you can undo them. Nearly everything you can do to an image is undoable. In fact, you can
usually undo a substantial number of the most recent things you did, if you decide that they were misguided. GIMP makes
this possible by keeping a history of your actions. This history consumes memory, though, so undoability is not infinite.
Some actions use very little undo memory, so that you can do dozens of them before the earliest ones are deleted from this
history; other types of actions require massive amounts of undo memory. You can configure the amount of memory GIMP
allows for the undo history of each image, but in any situation, you should always be able to undo at least your 2-3 most
recent actions. (The most important action that is not undoable is closing an image. For this reason, GIMP asks you to
confirm that you really want to close the image if you have made any changes to it.)
Plug-ins Many, probably most, of the things you do to an image in GIMP are done by the GIMP application itself. However,
GIMP also makes extensive use of ‘plug-ins’ which are external programs that interact very closely with GIMP, and are
capable of manipulating images and other GIMP objects in very sophisticated ways. Many important plug-ins come
packaged together with GIMP, but there are also many available by other means. In fact, the ability to write plug-ins (and
scripts) is the easiest way for people not on the GIMP development team to add new capabilities to GIMP.
All of the commands in the Filters menu, and a substantial number of commands in other menus, are actually implemented
by plug-ins.
Scripts In addition to plug-ins, which are programs written in the C language, GIMP can also make use of scripts. The largest
number of existing scripts are written in a language called Script-Fu, which is special to GIMP (for those who care, it
is a dialect of the Lisp-like language called Scheme). It is also possible to write GIMP scripts in Python or Perl. These
languages are more flexible and powerful than Script-Fu; their disadvantage is that they depend on software that does not
automatically come packaged with GIMP, so they are not guaranteed to work correctly in every GIMP installation.