1994689c1Smrg<sect2 id="Text_Widget_Actions">
2994689c1Smrg<title>Text Widget Actions</title>
3994689c1Smrg<para>
4994689c1Smrg<!-- .LP -->
55ec34c4cSmrg<indexterm><primary>Text widget</primary><secondary>actions</secondary></indexterm>
6994689c1Smrg<!-- .XS -->
7994689c1Smrg<!--      Actions Supported by all Text Widgets -->
8994689c1Smrg<!-- .XE -->
95ec34c4cSmrg<indexterm significance="preferred"><primary>Text widget</primary><secondary>actions</secondary></indexterm>
10994689c1Smrg
11994689c1SmrgAll editing functions are performed by translation manager actions that may
12994689c1Smrgbe specified through the <function>translations</function> resource in the Text widget.
13994689c1Smrg</para>
14994689c1Smrg<para>
15994689c1Smrg<!-- .LP -->
16994689c1Smrg<!-- .sp -->
17994689c1Smrg<literallayout class="monospaced">
18994689c1Smrg<!-- .TA .5i 2.5i 3i -->
19994689c1Smrg<!-- .ta .5i 2.5i 3i -->
20994689c1SmrgInsert Point Movement     Delete
21994689c1Smrg     forward-character         delete-next-character
22994689c1Smrg     backward-character        delete-previous-character
23994689c1Smrg     forward-word              delete-next-word
24994689c1Smrg     backward-word             delete-previous-word
25994689c1Smrg     forward-paragraph         delete-selection
26994689c1Smrg     backward-paragraph
27994689c1Smrg     beginning-of-line
28994689c1Smrg     end-of-line          Selection
29994689c1Smrg     next-line                 select-word
30994689c1Smrg     previous-line             select-all
31994689c1Smrg     next-page                 select-start
32994689c1Smrg     previous-page             select-adjust
33994689c1Smrg     beginning-of-file         select-end
34994689c1Smrg     end-of-file               extend-start
35994689c1Smrg     scroll-one-line-up        extend-adjust
36994689c1Smrg     scroll-one-line-down      extend-end
37994689c1Smrg                               insert-selection
38994689c1Smrg
39994689c1Smrg
40994689c1SmrgMiscellaneous             New Line
41994689c1Smrg     redraw-display            newline-and-indent
42994689c1Smrg     insert-file               newline-and-backup
43994689c1Smrg     insert-char               newline
44994689c1Smrg     insert-string
45994689c1Smrg     display-caret
46994689c1Smrg     focus-in             Kill
47994689c1Smrg     focus-in                  kill-word
48994689c1Smrg     search                    backward-kill-word
49994689c1Smrg     multiply                  kill-selection
50994689c1Smrg     form-paragraph            kill-to-end-of-line
51994689c1Smrg     transpose-characters      kill-paragraph
52994689c1Smrg     no-op                     kill-to-end-of-paragraph
53994689c1Smrg     XawWMProtocols
54994689c1Smrg     reconnect-im
55994689c1Smrg</literallayout>
56994689c1Smrg<!-- .sp -->
57994689c1Smrg</para>
58994689c1Smrg<para>
59994689c1Smrg<!-- .LP -->
60994689c1SmrgMost of the actions take no arguments, and unless otherwise noted you
61994689c1Smrgmay assume this to be the case.
62994689c1Smrg</para>
63994689c1Smrg<para>
64994689c1Smrg<!-- .LP -->
65994689c1Smrg</para>
66421c997bSmrg<sect3 id='Cursor_Movement_Actions'>
675ec34c4cSmrg<title>Cursor Movement Actions</title>
68994689c1Smrg<para>
69994689c1Smrg<!-- .LP -->
70994689c1Smrg<!-- .sp -->
71994689c1Smrg<variablelist>
72994689c1Smrg  <varlistentry>
73994689c1Smrg    <term>
74994689c1Smrg      forward-character()
75994689c1Smrg    </term>
76994689c1Smrg    <listitem>
77994689c1Smrg      <para>
78994689c1Smrg<!-- .br -->
79994689c1Smrg<!-- .ns -->
80994689c1Smrg      </para>
81994689c1Smrg    </listitem>
82994689c1Smrg  </varlistentry>
83994689c1Smrg  <varlistentry>
84994689c1Smrg    <term>
85994689c1Smrg      backward-character()
86994689c1Smrg    </term>
87994689c1Smrg    <listitem>
88994689c1Smrg      <para>
89994689c1SmrgThese actions move the insert point forward or backward one character in
90994689c1Smrgthe buffer.  If the insert point is at the end or beginning of a line
91994689c1Smrgthis action will move the insert point to the next (or previous) line.
92994689c1Smrg      </para>
93994689c1Smrg    </listitem>
94994689c1Smrg  </varlistentry>
95994689c1Smrg  <varlistentry>
96994689c1Smrg    <term>
97994689c1Smrg      forward-word()
98994689c1Smrg    </term>
99994689c1Smrg    <listitem>
100994689c1Smrg      <para>
101994689c1Smrg<!-- .br -->
102994689c1Smrg<!-- .ns -->
103994689c1Smrg      </para>
104994689c1Smrg    </listitem>
105994689c1Smrg  </varlistentry>
106994689c1Smrg  <varlistentry>
107994689c1Smrg    <term>
108994689c1Smrg      backward-word()
109994689c1Smrg    </term>
110994689c1Smrg    <listitem>
111994689c1Smrg      <para>
112994689c1SmrgThese actions move the insert point to the next or previous word boundary.
113994689c1SmrgA word boundary is defined as a Space, Tab or Carriage Return.
114994689c1Smrg      </para>
115994689c1Smrg    </listitem>
116994689c1Smrg  </varlistentry>
117994689c1Smrg  <varlistentry>
118994689c1Smrg    <term>
119994689c1Smrg      forward-paragraph()
120994689c1Smrg    </term>
121994689c1Smrg    <listitem>
122994689c1Smrg      <para>
123994689c1Smrg<!-- .br -->
124994689c1Smrg<!-- .ns -->
125994689c1Smrg      </para>
126994689c1Smrg    </listitem>
127994689c1Smrg  </varlistentry>
128994689c1Smrg  <varlistentry>
129994689c1Smrg    <term>
130994689c1Smrg      backward-paragraph()
131994689c1Smrg    </term>
132994689c1Smrg    <listitem>
133994689c1Smrg      <para>
134994689c1SmrgThese actions move the insert point to the next or previous paragraph boundary.
135994689c1SmrgA paragraph boundary is defined as two Carriage Returns in a row with only
136994689c1SmrgSpaces or Tabs between them.
137994689c1Smrg      </para>
138994689c1Smrg    </listitem>
139994689c1Smrg  </varlistentry>
140994689c1Smrg  <varlistentry>
141994689c1Smrg    <term>
142994689c1Smrg      beginning-of-line()
143994689c1Smrg    </term>
144994689c1Smrg    <listitem>
145994689c1Smrg      <para>
146994689c1Smrg<!-- .br -->
147994689c1Smrg<!-- .ns -->
148994689c1Smrg      </para>
149994689c1Smrg    </listitem>
150994689c1Smrg  </varlistentry>
151994689c1Smrg  <varlistentry>
152994689c1Smrg    <term>
153994689c1Smrg      end-of-line()
154994689c1Smrg    </term>
155994689c1Smrg    <listitem>
156994689c1Smrg      <para>
157994689c1SmrgThese actions move to the beginning or end of the current line.  If the
158994689c1Smrginsert point is already at the end or beginning of the line then no action is taken.
159994689c1Smrg      </para>
160994689c1Smrg    </listitem>
161994689c1Smrg  </varlistentry>
162994689c1Smrg  <varlistentry>
163994689c1Smrg    <term>
164994689c1Smrg      next-line()
165994689c1Smrg    </term>
166994689c1Smrg    <listitem>
167994689c1Smrg      <para>
168994689c1Smrg<!-- .br -->
169994689c1Smrg<!-- .ns -->
170994689c1Smrg      </para>
171994689c1Smrg    </listitem>
172994689c1Smrg  </varlistentry>
173994689c1Smrg  <varlistentry>
174994689c1Smrg    <term>
175994689c1Smrg      previous-line()
176994689c1Smrg    </term>
177994689c1Smrg    <listitem>
178994689c1Smrg      <para>
179994689c1SmrgThese actions move the insert point up or down one line.  If the insert
180994689c1Smrgpoint is currently N characters from the beginning of the line then it
181994689c1Smrgwill be N characters from the beginning of the next or previous line.
182994689c1SmrgIf N is past the end of the line, the insert point is placed at the end
183994689c1Smrgof the line.
184994689c1Smrg      </para>
185994689c1Smrg    </listitem>
186994689c1Smrg  </varlistentry>
187994689c1Smrg  <varlistentry>
188994689c1Smrg    <term>
189994689c1Smrg      next-page()
190994689c1Smrg    </term>
191994689c1Smrg    <listitem>
192994689c1Smrg      <para>
193994689c1Smrg<!-- .br -->
194994689c1Smrg<!-- .ns -->
195994689c1Smrg      </para>
196994689c1Smrg    </listitem>
197994689c1Smrg  </varlistentry>
198994689c1Smrg  <varlistentry>
199994689c1Smrg    <term>
200994689c1Smrg      previous-page()
201994689c1Smrg    </term>
202994689c1Smrg    <listitem>
203994689c1Smrg      <para>
204994689c1SmrgThese actions move the insert point up or down one page in the file.
205994689c1SmrgOne page is defined as the current height of the text widget.  The
206994689c1Smrginsert point is always placed at the first character of the top line by
207994689c1Smrgthis action.
208994689c1Smrg      </para>
209994689c1Smrg    </listitem>
210994689c1Smrg  </varlistentry>
211994689c1Smrg  <varlistentry>
212994689c1Smrg    <term>
213994689c1Smrg      beginning-of-file()
214994689c1Smrg    </term>
215994689c1Smrg    <listitem>
216994689c1Smrg      <para>
217994689c1Smrg<!-- .br -->
218994689c1Smrg<!-- .ns -->
219994689c1Smrg      </para>
220994689c1Smrg    </listitem>
221994689c1Smrg  </varlistentry>
222994689c1Smrg  <varlistentry>
223994689c1Smrg    <term>
224994689c1Smrg      end-of-file()
225994689c1Smrg    </term>
226994689c1Smrg    <listitem>
227994689c1Smrg      <para>
228994689c1SmrgThese actions place the insert point at the beginning or end of the
229994689c1Smrgcurrent text buffer.  The text widget is then scrolled the minimum
230994689c1Smrgamount necessary to make the new insert point location visible.
231994689c1Smrg      </para>
232994689c1Smrg    </listitem>
233994689c1Smrg  </varlistentry>
234994689c1Smrg  <varlistentry>
235994689c1Smrg    <term>
236994689c1Smrg      scroll-one-line-up()
237994689c1Smrg    </term>
238994689c1Smrg    <listitem>
239994689c1Smrg      <para>
240994689c1Smrg<!-- .br -->
241994689c1Smrg<!-- .ns -->
242994689c1Smrg      </para>
243994689c1Smrg    </listitem>
244994689c1Smrg  </varlistentry>
245994689c1Smrg  <varlistentry>
246994689c1Smrg    <term>
247994689c1Smrg      scroll-one-line-down()
248994689c1Smrg    </term>
249994689c1Smrg    <listitem>
250994689c1Smrg      <para>
251994689c1SmrgThese actions scroll the current text field up or down by one line.
252994689c1SmrgThey do not move the insert point.  Other than the scrollbars this is
253994689c1Smrgthe only way that the insert point may be moved off of the visible text
254994689c1Smrgarea.  The widget will be scrolled so that the insert point is back on
255994689c1Smrgthe screen as soon as some other action is executed.
256994689c1Smrg    </para>
257994689c1Smrg  </listitem>
258994689c1Smrg  </varlistentry>
259994689c1Smrg</variablelist>
260994689c1Smrg</para>
261994689c1Smrg</sect3>
262994689c1Smrg<sect3 id="Delete_Actions">
263994689c1Smrg<title>Delete Actions</title>
264994689c1Smrg<para>
265994689c1Smrg<!-- .LP -->
266994689c1Smrg<!-- .sp -->
267994689c1Smrg<variablelist>
268994689c1Smrg  <varlistentry>
269994689c1Smrg    <term>
270994689c1Smrg      delete-next-character()
271994689c1Smrg    </term>
272994689c1Smrg    <listitem>
273994689c1Smrg      <para>
274994689c1Smrg<!-- .br -->
275994689c1Smrg<!-- .ns -->
276994689c1Smrg      </para>
277994689c1Smrg    </listitem>
278994689c1Smrg  </varlistentry>
279994689c1Smrg  <varlistentry>
280994689c1Smrg    <term>
281994689c1Smrg      delete-previous-character()
282994689c1Smrg    </term>
283994689c1Smrg    <listitem>
284994689c1Smrg      <para>
285994689c1SmrgThese actions remove the character immediately before or after the
286994689c1Smrginsert point.  If a Carriage Return is removed then the next line is
287994689c1Smrgappended to the end of the current line.
288994689c1Smrg      </para>
289994689c1Smrg    </listitem>
290994689c1Smrg  </varlistentry>
291994689c1Smrg  <varlistentry>
292994689c1Smrg    <term>
293994689c1Smrg      delete-next-word()
294994689c1Smrg    </term>
295994689c1Smrg    <listitem>
296994689c1Smrg      <para>
297994689c1Smrg<!-- .br -->
298994689c1Smrg<!-- .ns -->
299994689c1Smrg      </para>
300994689c1Smrg    </listitem>
301994689c1Smrg  </varlistentry>
302994689c1Smrg  <varlistentry>
303994689c1Smrg    <term>
304994689c1Smrg      delete-previous-word()
305994689c1Smrg    </term>
306994689c1Smrg    <listitem>
307994689c1Smrg      <para>
308994689c1SmrgThese actions remove all characters between the insert point location and
309994689c1Smrgthe next word boundary.  A word boundary is defined as a Space, Tab or
310994689c1SmrgCarriage Return.
311994689c1Smrg      </para>
312994689c1Smrg    </listitem>
313994689c1Smrg  </varlistentry>
314994689c1Smrg  <varlistentry>
315994689c1Smrg    <term>
316994689c1Smrg      delete-selection()
317994689c1Smrg    </term>
318994689c1Smrg    <listitem>
319994689c1Smrg      <para>
320994689c1SmrgThis action removes all characters in the current selection.
321994689c1SmrgThe selection can be set with the selection actions.
322994689c1Smrg    </para>
323994689c1Smrg  </listitem>
324994689c1Smrg  </varlistentry>
325994689c1Smrg</variablelist>
326994689c1Smrg</para>
327994689c1Smrg</sect3>
328994689c1Smrg<sect3 id="Selection_Actions">
329994689c1Smrg<title>Selection Actions</title>
330994689c1Smrg<para>
331994689c1Smrg<!-- .LP -->
332994689c1Smrg<!-- .sp -->
333994689c1Smrg<variablelist>
334994689c1Smrg  <varlistentry>
335994689c1Smrg    <term>
336994689c1Smrg      select-word()
337994689c1Smrg    </term>
338994689c1Smrg    <listitem>
339994689c1Smrg      <para>
340994689c1SmrgThis action selects the word in which the insert point is currently located.
341994689c1SmrgIf the insert point is between words then it will select the previous word.
342994689c1Smrg      </para>
343994689c1Smrg    </listitem>
344994689c1Smrg  </varlistentry>
345994689c1Smrg  <varlistentry>
346994689c1Smrg    <term>
347994689c1Smrg      select-all()
348994689c1Smrg    </term>
349994689c1Smrg    <listitem>
350994689c1Smrg      <para>
351994689c1SmrgThis action selects the entire text buffer.
352994689c1Smrg      </para>
353994689c1Smrg    </listitem>
354994689c1Smrg  </varlistentry>
355994689c1Smrg  <varlistentry>
356994689c1Smrg    <term>
357994689c1Smrg      select-start()
358994689c1Smrg    </term>
359994689c1Smrg    <listitem>
360994689c1Smrg      <para>
361994689c1SmrgThis action sets the insert point to the current pointer location (if
362994689c1Smrgtriggered by a button event) or text cursor location (if triggered by
363994689c1Smrga key event).  It
364994689c1Smrgwill then begin a selection at this location.  If many of these
365994689c1Smrgselection actions occur quickly in succession then the selection count
3665ec34c4cSmrgmechanism will be invoked (see
3675ec34c4cSmrg<xref linkend="Text_Selections_for_Application_Programmers"/> for details).
368994689c1Smrg      </para>
369994689c1Smrg    </listitem>
370994689c1Smrg  </varlistentry>
371994689c1Smrg  <varlistentry>
372994689c1Smrg    <term>
373994689c1Smrg      select-adjust()
374994689c1Smrg    </term>
375994689c1Smrg    <listitem>
376994689c1Smrg      <para>
377994689c1SmrgThis action allows a selection started with the <emphasis remap='I'>select-start</emphasis>
378994689c1Smrgaction to be modified, as described above.
379994689c1Smrg      </para>
380994689c1Smrg    </listitem>
381994689c1Smrg  </varlistentry>
382994689c1Smrg  <varlistentry>
383994689c1Smrg    <term>
384994689c1Smrg      select-end(<emphasis remap='I'>name</emphasis>[,<emphasis remap='I'>name</emphasis>,...])
385994689c1Smrg    </term>
386994689c1Smrg    <listitem>
387994689c1Smrg      <para>
388994689c1SmrgThis action ends a text selection that began with the <emphasis remap='I'>select-start</emphasis>
389994689c1Smrgaction, and asserts ownership of the selection or selections specified.
390994689c1SmrgA <emphasis remap='I'>name</emphasis> can be a selection (e.g., <function>PRIMARY</function>) or a cut buffer
391994689c1Smrg(e.g., <function>CUT_BUFFER0</function>).  Note that case is important.  If no
392994689c1Smrg<emphasis remap='I'>names</emphasis> are specified, <function>PRIMARY</function> is asserted.
393994689c1Smrg      </para>
394994689c1Smrg    </listitem>
395994689c1Smrg  </varlistentry>
396994689c1Smrg  <varlistentry>
397994689c1Smrg    <term>
398994689c1Smrg      extend-start()
399994689c1Smrg    </term>
400994689c1Smrg    <listitem>
401994689c1Smrg      <para>
402994689c1SmrgThis action finds the nearest end of the current selection, and moves it
403994689c1Smrgto the current pointer location (if triggered by a button event) or text
404994689c1Smrgcursor location (if triggered by a key event).
405994689c1Smrg      </para>
406994689c1Smrg    </listitem>
407994689c1Smrg  </varlistentry>
408994689c1Smrg  <varlistentry>
409994689c1Smrg    <term>
410994689c1Smrg      extend-adjust()
411994689c1Smrg    </term>
412994689c1Smrg    <listitem>
413994689c1Smrg      <para>
414994689c1SmrgThis action allows a selection started with an <emphasis remap='I'>extend-start</emphasis> action
415994689c1Smrgto be modified.
416994689c1Smrg      </para>
417994689c1Smrg    </listitem>
418994689c1Smrg  </varlistentry>
419994689c1Smrg  <varlistentry>
420994689c1Smrg    <term>
421994689c1Smrg      extend-end(<emphasis remap='I'>name</emphasis>[,<emphasis remap='I'>name</emphasis>,...])
422994689c1Smrg    </term>
423994689c1Smrg    <listitem>
424994689c1Smrg      <para>
425994689c1SmrgThis action ends a text selection that began with the <emphasis remap='I'>extend-start</emphasis>
426994689c1Smrgaction, and asserts ownership of the selection or selections specified.
427994689c1SmrgA <emphasis remap='I'>name</emphasis> can be a selection (e.g. <function>PRIMARY</function>) or a cut buffer
428994689c1Smrg(e.g <function>CUT_BUFFER0</function>).  Note that case is important.  If no names are
429994689c1Smrggiven, <function>PRIMARY</function> is asserted.
430994689c1Smrg      </para>
431994689c1Smrg    </listitem>
432994689c1Smrg  </varlistentry>
433994689c1Smrg  <varlistentry>
434994689c1Smrg    <term>
435994689c1Smrg      insert-selection(<emphasis remap='I'>name</emphasis>[,<emphasis remap='I'>name</emphasis>,...])
436994689c1Smrg    </term>
437994689c1Smrg    <listitem>
438994689c1Smrg      <para>
439994689c1SmrgThis action retrieves the value of the first (left-most) named selection
440994689c1Smrgthat exists or the cut buffer that is not empty and inserts it into the
441994689c1SmrgText widget at the current insert point location. A <emphasis remap='I'>name</emphasis> can be a
442994689c1Smrgselection (e.g. <function>PRIMARY</function>) or a cut buffer (e.g <function>CUT_BUFFER0</function>).
443994689c1SmrgNote that case is important.
444994689c1Smrg    </para>
445994689c1Smrg  </listitem>
446994689c1Smrg  </varlistentry>
447994689c1Smrg</variablelist>
448994689c1Smrg</para>
449994689c1Smrg</sect3>
450994689c1Smrg<sect3 id="The_New_Line_Actions">
451994689c1Smrg<title>The New Line Actions</title>
452994689c1Smrg<para>
453994689c1Smrg<!-- .LP -->
454994689c1Smrg<!-- .sp -->
455994689c1Smrg<variablelist>
456994689c1Smrg  <varlistentry>
457994689c1Smrg    <term>
458994689c1Smrg      newline-and-indent()
459994689c1Smrg    </term>
460994689c1Smrg    <listitem>
461994689c1Smrg      <para>
462994689c1SmrgThis action inserts a newline into the text and adds spaces to
463994689c1Smrgthat line to indent it to match the previous line.
464994689c1Smrg      </para>
465994689c1Smrg    </listitem>
466994689c1Smrg  </varlistentry>
467994689c1Smrg  <varlistentry>
468994689c1Smrg    <term>
469994689c1Smrg      newline-and-backup()
470994689c1Smrg    </term>
471994689c1Smrg    <listitem>
472994689c1Smrg      <para>
473994689c1SmrgThis action inserts a newline into the text <emphasis remap='I'>after</emphasis> the insert point.
474994689c1Smrg      </para>
475994689c1Smrg    </listitem>
476994689c1Smrg  </varlistentry>
477994689c1Smrg  <varlistentry>
478994689c1Smrg    <term>
479994689c1Smrg      newline()
480994689c1Smrg    </term>
481994689c1Smrg    <listitem>
482994689c1Smrg      <para>
483994689c1SmrgThis action inserts a newline into the text <emphasis remap='I'>before</emphasis> the insert point.
484994689c1Smrg    </para>
485994689c1Smrg  </listitem>
486994689c1Smrg  </varlistentry>
487994689c1Smrg</variablelist>
488994689c1Smrg</para>
489994689c1Smrg</sect3>
490994689c1Smrg<sect3 id="Kill_and_Actions">
491994689c1Smrg<title>Kill and Actions</title>
492994689c1Smrg<para>
493994689c1Smrg<!-- .LP -->
494994689c1Smrg<!-- .sp -->
495994689c1Smrg<variablelist>
496994689c1Smrg  <varlistentry>
497994689c1Smrg    <term>
498994689c1Smrg      kill-word()
499994689c1Smrg    </term>
500994689c1Smrg    <listitem>
501994689c1Smrg      <para>
502994689c1Smrg<!-- .br -->
503994689c1Smrg<!-- .ns -->
504994689c1Smrg      </para>
505994689c1Smrg    </listitem>
506994689c1Smrg  </varlistentry>
507994689c1Smrg  <varlistentry>
508994689c1Smrg    <term>
509994689c1Smrg      backward-kill-word()
510994689c1Smrg    </term>
511994689c1Smrg    <listitem>
512994689c1Smrg      <para>
513994689c1SmrgThese actions act exactly like the <emphasis remap='I'>delete-next-word</emphasis> and
514994689c1Smrg<emphasis remap='I'>delete-previous-word</emphasis> actions, but they stuff the word that was
515994689c1Smrgkilled into the kill buffer (<function>CUT_BUFFER_1</function>).
516994689c1Smrg      </para>
517994689c1Smrg    </listitem>
518994689c1Smrg  </varlistentry>
519994689c1Smrg  <varlistentry>
520994689c1Smrg    <term>
521994689c1Smrg      kill-selection()
522994689c1Smrg    </term>
523994689c1Smrg    <listitem>
524994689c1Smrg      <para>
525994689c1SmrgThis action deletes the current selection and stuffs the deleted text into
526994689c1Smrgthe kill buffer (<function>CUT_BUFFER_1</function>).
527994689c1Smrg      </para>
528994689c1Smrg    </listitem>
529994689c1Smrg  </varlistentry>
530994689c1Smrg  <varlistentry>
531994689c1Smrg    <term>
532994689c1Smrg      kill-to-end-of-line()
533994689c1Smrg    </term>
534994689c1Smrg    <listitem>
535994689c1Smrg      <para>
536994689c1SmrgThis action deletes the entire line to the right of the insert point position,
537994689c1Smrgand stuffs the deleted text into the kill buffer (<function>CUT_BUFFER_1</function>).
538994689c1Smrg      </para>
539994689c1Smrg    </listitem>
540994689c1Smrg  </varlistentry>
541994689c1Smrg  <varlistentry>
542994689c1Smrg    <term>
543994689c1Smrg      kill-paragraph()
544994689c1Smrg    </term>
545994689c1Smrg    <listitem>
546994689c1Smrg      <para>
547994689c1SmrgThis action deletes the current paragraph, if between paragraphs it deletes
548994689c1Smrgthe paragraph above the insert point, and stuffs the deleted text into
549994689c1Smrgthe kill buffer (<function>CUT_BUFFER_1</function>).
550994689c1Smrg      </para>
551994689c1Smrg    </listitem>
552994689c1Smrg  </varlistentry>
553994689c1Smrg  <varlistentry>
554994689c1Smrg    <term>
555994689c1Smrg      kill-to-end-of-paragraph()
556994689c1Smrg    </term>
557994689c1Smrg    <listitem>
558994689c1Smrg      <para>
559994689c1SmrgThis action deletes everything between the current insert point location and
560994689c1Smrgthe next paragraph boundary, and stuffs the deleted text into the kill
561994689c1Smrgbuffer (<function>CUT_BUFFER_1</function>).
562994689c1Smrg    </para>
563994689c1Smrg  </listitem>
564994689c1Smrg  </varlistentry>
565994689c1Smrg</variablelist>
566994689c1Smrg</para>
567994689c1Smrg</sect3>
568994689c1Smrg<sect3 id="Miscellaneous_Actions">
569994689c1Smrg<title>Miscellaneous Actions</title>
570994689c1Smrg<para>
571994689c1Smrg<!-- .LP -->
572994689c1Smrg<!-- .sp 1 -->
573994689c1Smrg<variablelist>
574994689c1Smrg  <varlistentry>
575994689c1Smrg    <term>
576994689c1Smrg      redraw-display()
577994689c1Smrg    </term>
578994689c1Smrg    <listitem>
579994689c1Smrg      <para>
580994689c1SmrgThis action recomputes the location of all the text lines on the
581994689c1Smrgdisplay, scrolls the text to vertically center the line containing the insert point
582994689c1Smrgon the screen, clears the entire screen, and redisplays it.
583994689c1Smrg      </para>
584994689c1Smrg    </listitem>
585994689c1Smrg  </varlistentry>
586994689c1Smrg  <varlistentry>
587994689c1Smrg    <term>
588994689c1Smrg      insert-file([<emphasis remap='I'>filename</emphasis>])
589994689c1Smrg    </term>
590994689c1Smrg    <listitem>
591994689c1Smrg      <para>
592994689c1SmrgThis action activates the insert file popup.  The <emphasis remap='I'>filename</emphasis>
593994689c1Smrgoption specifies the default filename to put in the filename buffer of
594994689c1Smrgthe popup.  If no <emphasis remap='I'>filename</emphasis> is specified the buffer is empty
595994689c1Smrgat startup.
596994689c1Smrg      </para>
597994689c1Smrg    </listitem>
598994689c1Smrg  </varlistentry>
599994689c1Smrg  <varlistentry>
600994689c1Smrg    <term>
601994689c1Smrg      insert-char()
602994689c1Smrg    </term>
603994689c1Smrg    <listitem>
604994689c1Smrg      <para>
605994689c1SmrgThis action may only be attached to a key event. When the
606994689c1Smrg<function>international</function> resource is <function>false</function>, this action
607994689c1Smrgcalls XLookupString to translate the event into a (rebindable) Latin-1
608994689c1Smrgcharacter (sequence) and inserts it into the text at the
609994689c1Smrginsert point.  When the <function>international</function> resource is <function>true</function>,
610994689c1Smrgcharacters are passed to the input method via XwcLookupString, and any
611994689c1Smrgcommitted string returned is inserted into the text at the insert point.
612994689c1Smrg      </para>
613994689c1Smrg    </listitem>
614994689c1Smrg  </varlistentry>
615994689c1Smrg  <varlistentry>
616994689c1Smrg    <term>
617994689c1Smrg      insert-string(<emphasis remap='I'>string</emphasis>[,<emphasis remap='I'>string</emphasis>,...])
618994689c1Smrg    </term>
619994689c1Smrg    <listitem>
620994689c1Smrg      <para>
621994689c1SmrgThis action inserts each <emphasis remap='I'>string</emphasis> into the text
622994689c1Smrgat the insert point location.  Any <emphasis remap='I'>string</emphasis>
623994689c1Smrgbeginning with the characters "0x" followed by an even
624994689c1Smrgnumber of hexadecimal digits is
625994689c1Smrginterpreted as a hexadecimal constant and the
626994689c1Smrgcorresponding string is inserted instead.  This
627994689c1Smrghexadecimal string may represent up to 50 8-bit characters.
628994689c1Smrg When the<function>international</function> resource is
629994689c1Smrg<function>true</function>, a hexadecimal string is intrepeted as
630994689c1Smrgbeing in a multi-byte encoding, and a hexadecimal
631994689c1Smrgor regular string will result in an error message
632994689c1Smrgif it is not legal in the current locale.
633994689c1Smrg      </para>
634994689c1Smrg    </listitem>
635994689c1Smrg  </varlistentry>
636994689c1Smrg  <varlistentry>
637994689c1Smrg    <term>
638994689c1Smrg      display-caret(<emphasis remap='I'>state</emphasis>,<emphasis remap='I'>when</emphasis>)
639994689c1Smrg    </term>
640994689c1Smrg    <listitem>
641994689c1Smrg      <para>
642994689c1SmrgThis action allows the insert point to be turned on and off.
643994689c1SmrgThe <emphasis remap='I'>state</emphasis> argument specifies the desired state of the insert point.
644994689c1SmrgThis value may be any of the string
645994689c1Smrgvalues accepted for Boolean resources (e.g. <function>on</function>, <function>True</function>,
646994689c1Smrg<function>off</function>, <function>False</function>, etc.).  If no arguments are specified, the
647994689c1Smrgdefault value is <function>True</function>.
648994689c1SmrgThe <emphasis remap='I'>when</emphasis> argument specifies, for <function>EnterNotify</function> or <function>LeaveNotify</function>
649994689c1Smrgevents whether or not the focus field in the event is to be examined.
650994689c1SmrgIf the second argument is not specified, or specified as something other
651994689c1Smrgthan <function>always</function> then if the action is bound to an  <function>EnterNotify</function>
652994689c1Smrgor <function>LeaveNotify</function> event, the action will be taken only if the focus
653994689c1Smrgfield is <function>True</function>.  An augmented binding that might be useful is:
654994689c1Smrg    </para>
655994689c1Smrg  </listitem>
656994689c1Smrg  </varlistentry>
657994689c1Smrg</variablelist>
658994689c1Smrg</para>
659994689c1Smrg<para>
660994689c1Smrg<!-- .LP -->
661994689c1Smrg<literallayout class="monospaced">
662994689c1Smrg<!-- .TA 2.0i 2.5i 4.0i -->
663994689c1Smrg<!-- .ta 2.0i 2.5i 4.0i -->
664994689c1Smrg     *Text.Translations: #override \\
665994689c1Smrg          &lt;FocusIn&gt;:     display-caret(on) \\n\\
666994689c1Smrg          &lt;FocusOut&gt;:     display-caret(off)
667994689c1Smrg</literallayout>
668994689c1Smrg<variablelist>
669994689c1Smrg  <varlistentry>
670994689c1Smrg    <term>
671994689c1Smrg      focus-in()
672994689c1Smrg    </term>
673994689c1Smrg    <listitem>
674994689c1Smrg      <para>
675994689c1Smrg<!-- .br -->
676994689c1Smrg<!-- .ns -->
677994689c1Smrg      </para>
678994689c1Smrg    </listitem>
679994689c1Smrg  </varlistentry>
680994689c1Smrg  <varlistentry>
681994689c1Smrg    <term>
682994689c1Smrg      focus-out()
683994689c1Smrg    </term>
684994689c1Smrg    <listitem>
685994689c1Smrg      <para>
686994689c1SmrgThese actions do not currently do anything.
687994689c1Smrg      </para>
688994689c1Smrg    </listitem>
689994689c1Smrg  </varlistentry>
690994689c1Smrg  <varlistentry>
691994689c1Smrg    <term>
692994689c1Smrg      search(<emphasis remap='I'>direction</emphasis>,[<emphasis remap='I'>string</emphasis>])
693994689c1Smrg    </term>
694994689c1Smrg    <listitem>
695994689c1Smrg      <para>
696994689c1SmrgThis action activates the search popup.  The <emphasis remap='I'>direction</emphasis> must be
697994689c1Smrgspecified as either <function>forward</function> or <function>backward</function>.  The string is
698994689c1Smrgoptional and is used as an initial value for the <emphasis remap='I'>Search for</emphasis>: string.
699994689c1SmrgFor further explanation of the search widget see the section on
700994689c1Smrg<function>Text Searches</function>.
701994689c1Smrg      </para>
702994689c1Smrg    </listitem>
703994689c1Smrg  </varlistentry>
704994689c1Smrg  <varlistentry>
705994689c1Smrg    <term>
706994689c1Smrg      multiply(<emphasis remap='I'>value</emphasis>)
707994689c1Smrg    </term>
708994689c1Smrg    <listitem>
709994689c1Smrg      <para>
710994689c1SmrgThe multiply action allows the user to multiply the effects of many of
711994689c1Smrgthe text actions.  Thus the following action sequence
712994689c1Smrg<emphasis remap='I'>multiply(10) delete-next-word()</emphasis> will delete 10 words.  It does not
713994689c1Smrgmatter whether these actions take place in one event or many events.
7145ec34c4cSmrgUsing the default translations the key sequence
7155ec34c4cSmrg<emphasis remap='I'>Control-u, Control-d</emphasis> will delete 4 characters.
7165ec34c4cSmrgMultiply actions can be chained, thus
7175ec34c4cSmrg<emphasis remap='I'>multiply(5) multiply(5)</emphasis> is the same as
7185ec34c4cSmrg<emphasis remap='I'>multiply(25)</emphasis>.  If the string
719994689c1Smrg<function>reset</function> is passed to the multiply action the effects of all previous
720994689c1Smrgmultiplies are removed and a beep is sent to the display.
721994689c1Smrg      </para>
722994689c1Smrg    </listitem>
723994689c1Smrg  </varlistentry>
724994689c1Smrg  <varlistentry>
725994689c1Smrg    <term>
726994689c1Smrg      form-paragraph()
727994689c1Smrg    </term>
728994689c1Smrg    <listitem>
729994689c1Smrg      <para>
730994689c1SmrgThis action removes all the Carriage Returns from the current
731994689c1Smrgparagraph and reinserts them so that each line is as long as possible, while
732994689c1Smrgstill fitting on the current screen.  Lines are broken at word boundaries if
733994689c1Smrgat all possible.  This action currently works only on Text widgets
734994689c1Smrgthat use ASCII text.
735994689c1Smrg      </para>
736994689c1Smrg    </listitem>
737994689c1Smrg  </varlistentry>
738994689c1Smrg  <varlistentry>
739994689c1Smrg    <term>
740994689c1Smrg      transpose-characters()
741994689c1Smrg    </term>
742994689c1Smrg    <listitem>
743994689c1Smrg      <para>
744994689c1SmrgThis action will swap the position of the character to the left of the
745994689c1Smrginsert point with the character to the right of the insert point.  The insert point will then
746994689c1Smrgbe advanced one character.
747994689c1Smrg      </para>
748994689c1Smrg    </listitem>
749994689c1Smrg  </varlistentry>
750994689c1Smrg  <varlistentry>
751994689c1Smrg    <term>
752994689c1Smrg      no-op([<emphasis remap='I'>action</emphasis>])
753994689c1Smrg    </term>
754994689c1Smrg    <listitem>
755994689c1Smrg      <para>
756994689c1SmrgThe no-op action makes no change to the text widget, and is mainly used
757994689c1Smrgto override translations.  This action takes one optional argument.  If
758994689c1Smrgthis argument is <emphasis remap='I'>RingBell</emphasis> then a beep is sent to the display.
759994689c1Smrg      </para>
760994689c1Smrg    </listitem>
761994689c1Smrg  </varlistentry>
762994689c1Smrg  <varlistentry>
763994689c1Smrg    <term>
764994689c1Smrg      XawWMProtocols([<emphasis remap='I'>wm_protocol_name</emphasis>])
765994689c1Smrg    </term>
766994689c1Smrg    <listitem>
767994689c1Smrg      <para>
7685ec34c4cSmrg<indexterm><primary>XawWMProtocols</primary></indexterm>
769994689c1Smrg<!-- .sp -->
770994689c1SmrgThis action is written specifically for the file insertion and the search
771994689c1Smrgand replace
772994689c1Smrgdialog boxes.  This action is attached to those shells by the Text widget,
773994689c1Smrgin order to handle ClientMessage events with the WM_PROTOCOLS atom in the
774994689c1Smrgdetail field.  This action supports WM_DELETE_WINDOW on the Text widget
775994689c1Smrgpopups, and may support other window manager protocols if necessary in
776994689c1Smrgthe future.  The popup will be dismissed if the window manager sends
777994689c1Smrga WM_DELETE_WINDOW request and there are no parameters in the action
778994689c1Smrgcall, which is the default.  The popup will also be dismissed if the
7795ec34c4cSmrgparameters include the string <quote>wm_delete_window,</quote> and the event is a
780994689c1SmrgClientMessage event requesting dismissal or is not a ClientMessage event.
781994689c1SmrgThis action is not sensitive to the case of the strings passed as parameters.
782994689c1Smrg      </para>
783994689c1Smrg    </listitem>
784994689c1Smrg  </varlistentry>
785994689c1Smrg  <varlistentry>
786994689c1Smrg    <term>
787994689c1Smrg      reconnect-im()
788994689c1Smrg    </term>
789994689c1Smrg    <listitem>
790994689c1Smrg      <para>
7915ec34c4cSmrg<indexterm><primary>Input Method</primary></indexterm>
792994689c1SmrgWhen the <function>international</function> resource is <function>true</function>,
793994689c1Smrginput is usually passed to an input method, a separate
794994689c1Smrgprocess, for composing.  Sometimes the connection to
795994689c1Smrgthis process gets severed; this action will attempt to
796994689c1Smrgreconnect it.  Causes for severage include network
797994689c1Smrgtrouble, and the user explicitly killing one input
798994689c1Smrgmethod and starting a new one.  This action may also
799994689c1Smrgestablish first connection when the application is
800994689c1Smrgstarted before the input method.
801994689c1Smrg    </para>
802994689c1Smrg  </listitem>
803994689c1Smrg  </varlistentry>
804994689c1Smrg</variablelist>
805994689c1Smrg</para>
806994689c1Smrg</sect3>
807994689c1Smrg<sect3 id="Text_Selections_for_Application_Programmers">
808994689c1Smrg<title>Text Selections for Application Programmers</title>
8095ec34c4cSmrg<indexterm><primary>Text widget</primary><secondary>Text Selections for Application Programmers</secondary></indexterm>
810994689c1Smrg<para>
811994689c1Smrg<!-- .LP -->
812994689c1SmrgThe default behavior of the text selection array is described in the
813994689c1Smrgsection called <function>Text Selections for Users</function>.  To modify the selections
814994689c1Smrga programmer must construct a <function>XawTextSelectType</function> array (called the
815994689c1Smrgselection array), containing the selections desired, and pass this as
816994689c1Smrgthe new value for the <function>selectionTypes</function> resource.  The selection
817421c997bSmrgarray may also be modified using the <xref linkend='XawTextSetSelectionArray' xrefstyle='select: title'/>
8185ec34c4cSmrg<indexterm><primary>XawTextSetSelectionArray</primary></indexterm>
819994689c1Smrgfunction.  All selection arrays must end with the value
820994689c1Smrg<function>XawselectNull</function>.  The <function>selectionTypes</function> resource has no converter
821994689c1Smrgregistered and cannot be modified through the resource manager.
822994689c1Smrg</para>
823994689c1Smrg<para>
824994689c1Smrg<!-- .LP -->
825994689c1SmrgThe array contains a list of entries that will be called when the user
826994689c1Smrgattempts to select text in rapid succession with the <emphasis remap='I'>select-start</emphasis>
827994689c1Smrgaction (usually by clicking a pointer button).  The first entry in the
828994689c1Smrgselection array will be used when the <emphasis remap='I'>select-start</emphasis> action is
829994689c1Smrginitially called.  The next entry will be used when <emphasis remap='I'>select-start</emphasis>
830994689c1Smrgis called again, and so on.  If a timeout value (1/10 of a second) is
831994689c1Smrgexceeded, the the next <emphasis remap='I'>select-start</emphasis> action will begin at the top
832994689c1Smrgof the selection array.  When <function>XawselectNull</function> is reached the array
833994689c1Smrgis recycled beginning with the first element.
834994689c1Smrg
835994689c1Smrg<informaltable>
836994689c1Smrg  <tgroup cols='2' align='center'>
837994689c1Smrg  <colspec colname='c1'/>
838994689c1Smrg  <colspec colname='c2'/>
839994689c1Smrg  <tbody>
840994689c1Smrg    <row>
841994689c1Smrg      <entry><function>XawselectAll</function></entry>
842994689c1Smrg      <entry>Selects the contents of the entire buffer.</entry>
843994689c1Smrg    </row>
844994689c1Smrg    <row>
845994689c1Smrg      <entry><function>XawselectChar</function></entry>
846994689c1Smrg      <entry>Selects text characters as the pointer moves over them.</entry>
847994689c1Smrg    </row>
848994689c1Smrg    <row>
849994689c1Smrg      <entry><function>XawselectLine</function></entry>
850994689c1Smrg      <entry>Selects the entire line.</entry>
851994689c1Smrg    </row>
852994689c1Smrg    <row>
853994689c1Smrg      <entry><function>XawselectNull</function></entry>
854994689c1Smrg      <entry>Indicates the end of the selection array.</entry>
855994689c1Smrg    </row>
856994689c1Smrg    <row>
857994689c1Smrg      <entry><function>XawselectParagraph</function></entry>
858994689c1Smrg      <entry>Selects the entire paragraph.</entry>
859994689c1Smrg    </row>
860994689c1Smrg    <row>
861994689c1Smrg      <entry><function>XawselectPosition</function></entry>
862994689c1Smrg      <entry>Selects the current pointer position.</entry>
863994689c1Smrg    </row>
864994689c1Smrg    <row>
865994689c1Smrg      <entry><function>XawselectWord</function></entry>
866994689c1Smrg      <entry>Selects whole words as the pointer moves onto them.</entry>
867994689c1Smrg    </row>
868994689c1Smrg  </tbody>
869994689c1Smrg  </tgroup>
870994689c1Smrg</informaltable>
871994689c1Smrg</para>
872994689c1Smrg<para>
873994689c1Smrg<!-- .LP -->
874994689c1SmrgThe default selectType array is:
875994689c1Smrg</para>
876994689c1Smrg<para>
877994689c1Smrg<!-- .LP -->
878994689c1Smrg<!-- .sp -->
879994689c1Smrg<literallayout class="monospaced">
880994689c1Smrg{XawselectPosition, XawselectWord, XawselectLine, XawselectParagraph, XawselectAll, XawselectNull}
881994689c1Smrg</literallayout>
882994689c1Smrg<!-- .sp -->
883994689c1Smrg</para>
884994689c1Smrg<para>
885994689c1Smrg<!-- .LP -->
886994689c1SmrgThe selection array is not copied by the text widgets.  The
887994689c1Smrgapplication must allocate space for the array and cannot deallocate or
888994689c1Smrgchange it until the text widget is destroyed or until a new selection
889994689c1Smrgarray is set.
890994689c1Smrg</para>
891994689c1Smrg</sect3>
892994689c1Smrg</sect2>
893994689c1Smrg<sect2 id="Default_Translation_Bindings">
894994689c1Smrg<title>Default Translation Bindings</title>
895994689c1Smrg<para>
896994689c1Smrg<!-- .LP -->
897994689c1Smrg<!-- .XS -->
898994689c1Smrg<!--      Default Translation Bindings -->
899994689c1Smrg<!-- .XE -->
9005ec34c4cSmrg<indexterm><primary>Text widget</primary><secondary>default translations</secondary></indexterm>
901994689c1SmrgThe following translations are defaults built into every Text widget.
902994689c1SmrgThey can be overridden, or replaced by specifying a new value for the
903994689c1SmrgText widget's <function>translations</function> resource.
904994689c1Smrg</para>
905994689c1Smrg<para>
906994689c1Smrg<!-- .LP -->
907994689c1Smrg<!-- .sp -->
908994689c1Smrg<literallayout class="monospaced">
909994689c1Smrg<!-- .TA .5i 2.5i -->
910994689c1Smrg<!-- .ta .5i 2.5i -->
911994689c1Smrg     Ctrl&lt;Key&gt;A:     beginning-of-line() \\n\\
912994689c1Smrg     Ctrl&lt;Key&gt;B:     backward-character() \\n\\
913994689c1Smrg     Ctrl&lt;Key&gt;D:     delete-next-character() \\n\\
914994689c1Smrg     Ctrl&lt;Key&gt;E:     end-of-line() \\n\\
915994689c1Smrg     Ctrl&lt;Key&gt;F:     forward-character() \\n\\
916994689c1Smrg     Ctrl&lt;Key&gt;G:     multiply(Reset) \\n\\
917994689c1Smrg     Ctrl&lt;Key&gt;H:     delete-previous-character() \\n\\
918994689c1Smrg     Ctrl&lt;Key&gt;J:     newline-and-indent() \\n\\
919994689c1Smrg     Ctrl&lt;Key&gt;K:     kill-to-end-of-line() \\n\\
920994689c1Smrg     Ctrl&lt;Key&gt;L:     redraw-display() \\n\\
921994689c1Smrg     Ctrl&lt;Key&gt;M:     newline() \\n\\
922994689c1Smrg     Ctrl&lt;Key&gt;N:     next-line() \\n\\
923994689c1Smrg     Ctrl&lt;Key&gt;O:     newline-and-backup() \\n\\
924994689c1Smrg     Ctrl&lt;Key&gt;P:     previous-line() \\n\\
925994689c1Smrg     Ctrl&lt;Key&gt;R:     search(backward) \\n\\
926994689c1Smrg     Ctrl&lt;Key&gt;S:     search(forward) \\n\\
927994689c1Smrg     Ctrl&lt;Key&gt;T:     transpose-characters() \\n\\
928994689c1Smrg     Ctrl&lt;Key&gt;U:     multiply(4) \\n\\
929994689c1Smrg     Ctrl&lt;Key&gt;V:     next-page() \\n\\
930994689c1Smrg     Ctrl&lt;Key&gt;W:     kill-selection() \\n\\
931994689c1Smrg     Ctrl&lt;Key&gt;Y:     insert-selection(CUT_BUFFER1) \\n\\
932994689c1Smrg     Ctrl&lt;Key&gt;Z:     scroll-one-line-up() \\n\\
933994689c1Smrg     Ctrl&lt;Key&gt;\\:     reconnect-im() \\n\\
934994689c1Smrg     Meta&lt;Key&gt;B:     backward-word() \\n\\
935994689c1Smrg     Meta&lt;Key&gt;F:     forward-word() \\n\\
936994689c1Smrg     Meta&lt;Key&gt;I:     insert-file() \\n\\
937994689c1Smrg     Meta&lt;Key&gt;K:     kill-to-end-of-paragraph() \\n\\
938994689c1Smrg     Meta&lt;Key&gt;Q:     form-paragraph() \\n\\
939994689c1Smrg     Meta&lt;Key&gt;V:     previous-page() \\n\\
940994689c1Smrg     Meta&lt;Key&gt;Y:     insert-selection(PRIMARY, CUT_BUFFER0) \\n\\
941994689c1Smrg     Meta&lt;Key&gt;Z:     scroll-one-line-down() \\n\\
942994689c1Smrg     :Meta&lt;Key&gt;d:     delete-next-word() \\n\\
943994689c1Smrg     :Meta&lt;Key&gt;D:     kill-word() \\n\\
944994689c1Smrg     :Meta&lt;Key&gt;h:     delete-previous-word() \\n\\
945994689c1Smrg     :Meta&lt;Key&gt;H:     backward-kill-word() \\n\\
946994689c1Smrg     :Meta&lt;Key&gt;\\&lt;:     beginning-of-file() \\n\\
947994689c1Smrg     :Meta&lt;Key&gt;\\&gt;:     end-of-file() \\n\\
948994689c1Smrg     :Meta&lt;Key&gt;]:     forward-paragraph() \\n\\
949994689c1Smrg     :Meta&lt;Key&gt;[:     backward-paragraph() \\n\\
950994689c1Smrg     ~Shift Meta&lt;Key&gt;Delete:          delete-previous-word() \\n\\
9515ec34c4cSmrg      Shift Meta&lt;Key&gt;Delete:          backward-kill-word() \\n\\
952994689c1Smrg     ~Shift Meta&lt;Key&gt;Backspace:     delete-previous-word() \\n\\
9535ec34c4cSmrg      Shift Meta&lt;Key&gt;Backspace:     backward-kill-word() \\n\\
954994689c1Smrg     &lt;Key&gt;Right:     forward-character() \\n\\
955994689c1Smrg     &lt;Key&gt;Left:     backward-character() \\n\\
956994689c1Smrg     &lt;Key&gt;Down:     next-line() \\n\\
957994689c1Smrg     &lt;Key&gt;Up:     previous-line() \\n\\
958994689c1Smrg     &lt;Key&gt;Delete:     delete-previous-character() \\n\\
959994689c1Smrg     &lt;Key&gt;BackSpace:     delete-previous-character() \\n\\
960994689c1Smrg     &lt;Key&gt;Linefeed:     newline-and-indent() \\n\\
961994689c1Smrg     &lt;Key&gt;Return:     newline() \\n\\
962994689c1Smrg     &lt;Key&gt;:          insert-char() \\n\\
963994689c1Smrg     &lt;Key&gt;Kanji:     reconnect-im() \\n\\
964994689c1Smrg     &lt;FocusIn&gt;:     focus-in() \\n\\
965994689c1Smrg     &lt;FocusOut&gt;:     focus-out() \\n\\
966994689c1Smrg     &lt;Btn1Down&gt;:     select-start() \\n\\
967994689c1Smrg     &lt;Btn1Motion&gt;:     extend-adjust() \\n\\
968994689c1Smrg     &lt;Btn1Up&gt;:     extend-end(PRIMARY, CUT_BUFFER0) \\n\\
969994689c1Smrg     &lt;Btn2Down&gt;:     insert-selection(PRIMARY, CUT_BUFFER0) \\n\\
970994689c1Smrg     &lt;Btn3Down&gt;:     extend-start() \\n\\
971994689c1Smrg     &lt;Btn3Motion&gt;:     extend-adjust() \\n\\
972994689c1Smrg     &lt;Btn3Up&gt;:     extend-end(PRIMARY, CUT_BUFFER0) \\n
973994689c1Smrg</literallayout>
974994689c1Smrg
975994689c1Smrg
976994689c1Smrg</para>
977994689c1Smrg</sect2>
978