File: ch02s04s05.html

package info (click to toggle)
gimp-help 2%2B0.7-5
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 30,852 kB
  • ctags: 4
  • sloc: xml: 104,248; sh: 544; makefile: 262; perl: 42
file content (246 lines) | stat: -rw-r--r-- 11,471 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>4.5. Undoing</title>
    <link rel="stylesheet" href="gimp-help-plain.css" type="text/css" />
    <link rel="stylesheet" href="gimp-help-screen.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.66.1" />
    <link rel="start" href="index.html" title="&#10;      &#10;    " />
    <link rel="up" href="ch02s04.html" title="4. Working with Images" />
    <link rel="prev" href="ch02s04s04.html" title="4.4. The Selection" />
    <link rel="next" href="ch02s04s06.html" title="4.6. Grids and Guides" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center" id="chaptername">4.5. Undoing</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="ch02s04s04.html">Prev</a> </td>
          <th width="60%" align="center" id="sectionname">4.5. Undoing</th>
          <td width="20%" align="right"> <a accesskey="n" href="ch02s04s06.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect2" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h3 class="title"><a id="gimp-undo"></a>4.5. Undoing</h3>
          </div>
        </div>
      </div>
      <a id="id3309714" class="indexterm"></a>
      <p>
    Almost anything you do to an image in GIMP can be undone.  You can
    undo the most recent action by choosing
    <span class="guimenu">Edit</span>-&gt;<span class="guimenuitem">Undo</span>
    from the image menu, but this is done so frequently that you
    really should memorize the keyboard shortcut,
    <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">Z</b></span>.
  </p>
      <p>
    Undoing can itself be undone.  After having undone an action, you
    can <span class="emphasis"><em>redo</em></span> it by choosing
    <span class="guimenu">Edit</span>-&gt;<span class="guimenuitem">Redo</span>
    from the image menu, or use the keyboard shortcut,
    <span><b class="keycap">Ctrl</b></span>-<span><b class="keycap">Y</b></span>.
    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.
  </p>
      <div class="caution" style="margin-left: 0.5in; margin-right: 0.5in;">
        <table border="0" summary="Caution">
          <tr>
            <td rowspan="2" align="center" valign="top" width="25">
              <img alt="[Caution]" src="../images/caution.png" />
            </td>
            <th align="left">Caution</th>
          </tr>
          <tr>
            <td colspan="2" align="left" valign="top">
              <p>
    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.  (<span class="emphasis"><em>Not</em></span> the
    original, because the undo/redo history is not copied when you
    duplicate an image.)
    </p>
            </td>
          </tr>
        </table>
      </div>
      <p>
    If you often find yourself undoing and redoing many steps at a
    time, it may be more convenient to work with the <a href="ch04s08.html" title="8. Undo History dialog">Undo History dialog</a>, 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. 
  </p>
      <p>
    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 <a href="ch04s18s14.html" title="18.14. Environment">Environment</a> page of the
    Preferences dialog.  There are two important variables:  the
    <span class="emphasis"><em>minimal number of undo levels</em></span>, which GIMP
    will maintain regardless of how much memory they consume, and the
    <span class="emphasis"><em>maximum undo memory</em></span>, beyond which GIMP will
    begin to delete the oldest items from the Undo History.
  </p>
      <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
        <table border="0" summary="Note">
          <tr>
            <td rowspan="2" align="center" valign="top" width="25">
              <img alt="[Note]" src="../images/note.png" />
            </td>
            <th align="left">Note</th>
          </tr>
          <tr>
            <td colspan="2" align="left" valign="top">
              <p>
      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.
    </p>
            </td>
          </tr>
        </table>
      </div>
      <p>
    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
    <span class="emphasis"><em>compressed</em></span>, 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. 
  </p>
      <div class="simplesect" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h4 class="title"><a id="id3309910"></a>Things that cannot be Undone</h4>
            </div>
          </div>
        </div>
        <p>
      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. 
    </p>
        <p>
      There are a few important actions that do alter an image but
      cannot be undone:
    </p>
        <div class="variablelist">
          <dl>
            <dt>
              <span class="term">Closing the image</span>
            </dt>
            <dd>
              <p>
            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 <a href="ch04s18s14.html" title="18.14. Environment">Environment</a> page of
            the Preferences dialog; if you do, you are assuming
            responsibility for thinking about what you are doing.)
          </p>
            </dd>
            <dt>
              <span class="term">Reverting the image</span>
            </dt>
            <dd>
              <p>
            "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.
          </p>
            </dd>
            <dt>
              <span class="term">"Pieces" of actions</span>
            </dt>
            <dd>
              <p>
            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.
          </p>
            </dd>
          </dl>
        </div>
        <p>
      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.
    </p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="ch02s04s04.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="ch02s04.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="ch02s04s06.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">4.4. The Selection </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> 4.6. Grids and Guides</td>
        </tr>
      </table>
    </div>
  </body>
</html>