Almost anything you do to an image in GIMP can be undone. You can
undo the most recent action by choosing
→
from the image menu, but this is done so frequently that you
really should memorize the keyboard shortcut,
Ctrl+Z.
Undoing can itself be undone. After having undone an action, you
can redo it by choosing
→
from the image menu, or use the keyboard shortcut,
Ctrl+Y.
It is often helpful to judge the effect of an action by repeatedly
undoing and redoing it. This is usually very quick, and does not
consume any extra resources or alter the undo history, so there is
never any harm in it.
|
Caution |
If you undo one or more actions and then operate on the image in any way
except by using Undo or Redo, it will no longer be possible to redo
those actions: they are lost forever. The solution to this, if it
creates a problem for you, is to duplicate the image and then operate on
the copy. ( Not the original, because the undo/redo
history is not copied when you duplicate an image.)
|
If you often find yourself undoing and redoing many steps at a time, it
may be more convenient to work with the
Undo History dialog,
a dockable dialog that shows you a small sketch of each point in the
Undo History, allowing you to go back or forward to that point by
clicking.
Undo is performed on an image-specific basis: the "Undo History" is one of
the components of an image. GIMP allocates a certain amount of memory to
each image for this purpose. You can customize your Preferences to
increase or decrease the amount, using the
Environment
page of the Preferences dialog. There are two important variables: the
minimal number of undo levels,
which GIMP will maintain regardless of how much memory they consume, and
the maximum undo memory, beyond which GIMP will
begin to delete the oldest items from the Undo History.
|
Note |
Even though the Undo History is a component of an image, it is not saved
when you save the image using GIMP's native XCF format, which preserves
every other image property. When the image is reopened, it will have an
empty Undo History.
|
The implementation of Undo by GIMP is rather sophisticated. Many
operations require very little Undo memory (e.g., changing visibility of a
layer), so you can perform long sequences of them before they drop out of
the Undo History. Some operations (changing layer visibility is again an
example) are compressed,
so that doing them several times in a row produces only a single point
in the Undo History. However, there are other operations that may consume
a lot of undo memory. Most filters are examples of this: because they are
implemented by plug-ins, the GIMP core has no really efficient way of
knowing what they have changed, so it has no way to implement Undo except
by memorizing the entire contents of the affected layer before and after
the operation. You might only be able to perform a few such operations
before they drop out of the Undo History.
3.1.
Things That Cannot be Undone
Most actions that alter an image can be undone. Actions that do not
alter the image generally cannot be. This includes operations such as
saving the image to a file, duplicating the image, copying part of the
image to the clipboard, etc. It also includes most actions that affect
the image display without altering the underlying image data. The most
important example is zooming. There are, however, exceptions: toggling
QuickMask on or off can be undone, even though it does not alter the
image data.
There are a few important actions that do alter an image but
cannot be undone:
-
Closing the image
-
The Undo History is a component of the image, so when the image is
closed and all of its resources are freed, the Undo History goes
along. Because of this, unless the image has not been modified
since the last time it was saved, GIMP always asks you to confirm
that you really want to close it. (You can disable this in the
Environment
page of the Preferences dialog; if you do, you are assuming
responsibility for thinking about what you are doing.)
-
Reverting the image
-
“Reverting”
means reloading the image from file. GIMP actually implements this
by closing the image and creating a new image, so the Undo History
is lost as a consequence. Because of this, if the image is
unclean, GIMP always asks you to confirm that you really want to
revert the image.
-
“Pieces” of actions
-
Some tools require you to perform a complex series of
manipulations before they take effect, but only allow you to undo
the whole thing rather than the individual elements. For example,
the Intelligent Scissors require you to create a closed path by
clicking at multiple points in the image, and then clicking inside
the path to create a selection. You cannot undo the individual
clicks: undoing after you are finished takes you all the way back
to the starting point. For another example, when you are working
with the Text tool, you cannot undo individual letters, font
changes, etc.: undoing after you are finished removes the newly
created text layer.
Filters, and other actions performed by plugins or scripts, can be
undone just like actions implemented by the GIMP core, but this requires
them to make correct use of GIMP's Undo functions. If the code is not
correct, a plugin can potentially corrupt the Undo History, so that not
only the plugin but also previous actions can no longer properly be
undone. The plugins and scripts distributed with GIMP are all believed
to be set up correctly, but obviously no guarantees can be given for
plugins you obtain from other sources. Also, even if the code is
correct, canceling a plugin while it is running can sometimes leave the
Undo History corrupted, so it is best to avoid this unless you have
accidentally done something whose consequences are going to be very
harmful.