1<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN"
2               "/dtd/4.0/docbookx.dtd">
3<book lang="en">
4<bookinfo>
5<title>the <application>kwrite</application> handbook</title>
6<authorgroup>
7<author>
8<firstname>thad</firstname>
9<surname>mcginnis</surname>
10<affiliation>
11<address><email>ctmcginnis@compuserve.com</email></address>
12</affiliation>
13</author>
14<othercredit role="developer">
15<firstname>jochen</firstname>
16<surname>wilhelmy</surname>
17<contrib>principal developer</contrib>
18<affiliation>
19<address><email>digisnap@cs.tu-berlin.de</email></address>
20</affiliation>
21</othercredit>
22<othercredit role="developer">
23<firstname>glen</firstname>
24<surname>parker</surname>
25<contrib>additional development</contrib>
26<affiliation>
27<address><email>glenebob@nwlink.com</email></address>
28</affiliation>
29</othercredit>
30<othercredit role="developer">
31<firstname>michael</firstname>
32<surname>koch</surname>
33<contrib>additional development</contrib>
34<affiliation>
35<address><email>koch@kde.org</email></address>
36</affiliation>
37</othercredit>
38<othercredit role="developer">
39<firstname>christian</firstname>
40<surname>tibirna</surname>
41<contrib>original help document</contrib>
42<affiliation>
43<address><email>tibirna@kde.org</email></address>
44</affiliation>
45</othercredit>
46<othercredit role="reviewer">
47<firstname>lauri</firstname>
48<surname>watts</surname>
49<contrib>reviewer</contrib>
50<affiliation>
51<address><email>vampyr@atconnex.net</email></address>
52</affiliation>
53</othercredit>
54</authorgroup>
55<copyright>
56<year>2000</year>
57<year>2001</year>
58<holder>thad mcginnis</holder>
59</copyright>
60<legalnotice>
61<para>permission is granted to copy, distribute and/or modify this
62document under the terms of the gnu free documentation license,
63version 1.1 or any later version published by the free software
64foundation; with no invariant sections, with no front-cover texts, and
65with no back-cover texts.  a copy of the license is included in <xref linkend="gnu-fdl"/>.</para>
66</legalnotice>
67<date>15/02/2001</date>
68<releaseinfo>2.00.00</releaseinfo>
69<abstract>
70<para>this handbook describes <application>kwrite</application> version 2.0</para>
71<para><application>kwrite</application> is a text editor for kde 2.0</para>
72</abstract>
73<keywordset>
74<keyword>kde</keyword>
75<keyword>kwrite</keyword>
76<keyword>text</keyword>
77<keyword>editor</keyword>
78</keywordset>
79</bookinfo>
80<chapter id="introduction">
81<title>introduction</title>
82<para><application>kwrite</application> is more than a text editor for the kde desktop. it is meant
83to be a programmer's editor, and could be considered as at least a partial
84alternative to more powerful editors.  it may be best used in conjunction
85with <application>konqueror</application> for source file browsing for
86different languages. <application>kwrite</application> also works very well as a simple text editor.
87one of <application>kwrite</application>'s main features is the colorized syntax, customized for
88many different programming languages such as: c/c++, <trademark>java</trademark>, python, perl,
89bash, modula 2, <acronym>html</acronym>, and ada.</para>
90</chapter>
91<chapter id="on-screen-fundamentals">
92<title>some fundamentals</title>
93<para><application>kwrite</application> is very simple to use. anyone that has used a text editor should
94have no problems. </para>
95<sect1 id="drag-and-drop">
96<title>drag and drop</title>
97<para><application>kwrite</application> uses the kde drag and drop protocol. files may be dragged  
98and dropped onto <application>kwrite</application> from the desktop,  
99<application>konqueror</application> or some remote ftp site opened in one  
100of <application>konqueror</application>'s windows. </para>
101</sect1>
102<sect1 id="command-line-options">
103<title>command line options</title>
104<para>though <application>kwrite</application> may most often be started from the kde program menu,  
105or a desktop icon, it can also be opened at the command line prompt of a  
106terminal window.  there are a few useful options that are available when  
107doing this.</para>
108<sect2 id="specify-a-file">
109<title>specify a file</title>
110<para>by specifying the path and name of a particular file the user can  
111have <application>kwrite</application> open (or create) that file immediately upon startup.  this
112option might look something like the following:</para>
113<informalexample>
114<screen><prompt>%</prompt> <userinput><command>kwrite</command> <option><replaceable>/home/myhome/docs/myfile.txt</replaceable></option></userinput></screen>
115</informalexample>
116</sect2>
117<sect2 id="editing-files-on-the-internet">
118<title>specify a file on the internet</title>
119<para>the above-mentioned method could even be used to open files on the
120internet (if the user has an active connection at the time.)  an example of
121this might look like the following:</para>
122<informalexample>
123<screen><prompt>%</prompt> <userinput><command>kwrite</command> <option><replaceable>ftp://ftp.kde.org/pub/kde/welcome.msg</replaceable></option></userinput></screen>
124</informalexample>
125</sect2>
126<sect2 id="other-command-line-options">
127<title>other command line options</title>
128<para>the following command line help options are available</para>
129<variablelist>
130<varlistentry>
131<term><userinput><command>kwrite</command> <option>--help</option></userinput></term>
132<listitem>
133<para>this lists the most basic options available at the command  
134line.</para>
135</listitem>
136</varlistentry>
137<varlistentry>
138<term><userinput><command>kwrite</command> <option>--help-qt</option></userinput></term>
139<listitem>
140<para>this lists the options available for changing the way  
141<application>kwrite</application> interacts with <trademark>qt</trademark>.</para>
142</listitem>
143</varlistentry>
144<varlistentry>
145<term><userinput><command>kwrite</command> <option>--help-kde</option></userinput></term>
146<listitem>
147<para>this lists the options available for changing the way  
148<application>kwrite</application> interacts with kde.</para>
149</listitem>
150</varlistentry>
151<varlistentry>
152<term><userinput><command>kwrite</command> <option>--help-all</option></userinput></term>
153<listitem>
154<para>this lists all of the command line options.</para>
155</listitem>
156</varlistentry>
157<varlistentry>
158<term><userinput><command>kwrite</command> <option>--author</option></userinput></term>
159<listitem>
160<para>lists <application>kwrite</application>'s authors in the terminal window</para>
161</listitem>
162</varlistentry>
163<varlistentry>
164<term><userinput><command>kwrite</command> <option>--version</option></userinput></term>
165<listitem>
166<para>lists version information for <trademark>qt</trademark>, kde, and <application>kwrite</application>. also available through <userinput><command>kwrite</command> <option>-v</option></userinput> </para>
167</listitem>
168</varlistentry>
169</variablelist>
170</sect2>
171</sect1>
172<sect1 id="keybindings">
173<title>key bindings</title>
174<para>many of the key bindings (shortcuts) are configurable by way of the <link linkend="settings">settings</link> menu.  by default <application>kwrite</application> honors the  
175following key bindings.</para>
176<informaltable>
177<tgroup cols="2">
178<tbody>
179<row>
180<entry><para><keycombo>
181<keycap>insert</keycap>
182</keycombo></para></entry>
183<entry><para> toggle between insert and overwrite mode. when in insert mode the
184editor will add any typed characters to the text while pushing along any data to
185the right of the text cursor. overwrite mode causes the entry of each character
186to eliminate the character immediately to the right of the text
187cursor.</para></entry>
188</row>
189<row>
190<entry><para><keycombo>
191<keycap>left arrow</keycap>
192</keycombo></para></entry>
193<entry><para>move the cursor one character to the left </para></entry>
194</row>
195<row>
196<entry><para><keycombo>
197<keycap>right arrow</keycap>
198</keycombo></para></entry>
199<entry><para> move the cursor one character to the right </para></entry>
200</row>
201<row>
202<entry><para><keycombo>
203<keycap>up arrow</keycap>
204</keycombo></para></entry>
205<entry><para> move the cursor up one line  </para></entry>
206</row>
207<row>
208<entry><para><keycombo>
209<keycap>down arrow</keycap>
210</keycombo></para></entry>
211<entry><para> move the cursor down one line </para></entry>
212</row>
213<row>
214<entry><para><keycombo>
215<keycap>page up</keycap>
216</keycombo></para></entry>
217<entry><para> move the cursor up one page  </para></entry>
218</row>
219<row>
220<entry><para><keycombo>
221<keycap>page down</keycap>
222</keycombo></para></entry>
223<entry><para>move the cursor down one page  </para></entry>
224</row>
225<row>
226<entry><para><keycombo>
227<keycap>backspace</keycap>
228</keycombo></para></entry>
229<entry><para> delete the character to the left of the cursor </para></entry>
230</row>
231<row>
232<entry><para><keycombo>
233<keycap>home</keycap>
234</keycombo></para></entry>
235<entry><para> move the cursor to the beginning of the line </para></entry>
236</row>
237<row>
238<entry><para><keycombo>
239<keycap>end</keycap>
240</keycombo></para></entry>
241<entry><para> move the cursor to the end of the line </para></entry>
242</row>
243<row>
244<entry><para><keycombo>
245<keycap>delete</keycap>
246</keycombo></para></entry>
247<entry><para>delete the character to the right of the cursor (or any selected  
248text)</para></entry>
249</row>
250<row>
251<entry><para><keycombo>
252<keycap>shift</keycap>
253<keycap>left arrow</keycap>
254</keycombo></para></entry>
255<entry><para> mark text one character to the left </para></entry>
256</row>
257<row>
258<entry><para><keycombo>
259<keycap>shift</keycap>
260<keycap>right arrow</keycap>
261</keycombo></para></entry>
262<entry><para> mark text one character to the right </para></entry>
263</row>
264<row>
265<entry><para><keycombo>
266<keycap>f1</keycap>
267</keycombo></para></entry>
268<entry><para> help</para></entry>
269</row>
270<row>
271<entry><para><keycombo>
272<keycap>shift</keycap>
273<keycap>f1</keycap>
274</keycombo></para></entry>
275<entry><para><link linkend="whats-this">what's this?</link></para></entry>
276</row>
277<row>
278<entry><para><keycombo>
279<keycap>ctrl</keycap>
280<keycap>f</keycap>
281</keycombo></para></entry>
282<entry><para><link linkend="find"> find</link></para></entry>
283</row>
284<row>
285<entry><para><keycombo>
286<keycap>f3</keycap>
287</keycombo></para></entry>
288<entry><para><link linkend="find-again"> find again</link></para></entry>
289</row>
290<row>
291<entry><para><keycombo>
292<keycap>ctrl</keycap>
293<keycap>c</keycap>
294</keycombo></para></entry>
295<entry><para> copy the marked text to the clipboard. </para></entry>
296</row>
297<row>
298<entry><para><keycombo>
299<keycap>ctrl</keycap>
300<keycap>m</keycap>
301</keycombo></para></entry>
302<entry><para>set a bookmark</para></entry>
303</row>
304<row>
305<entry><para><keycombo>
306<keycap>ctrl</keycap>
307<keycap>n</keycap>
308</keycombo></para></entry>
309<entry><para> <link linkend="new">new</link> document</para></entry>
310</row>
311<row>
312<entry><para><keycombo>
313<keycap>ctrl</keycap>
314<keycap>p</keycap>
315</keycombo></para></entry>
316<entry><para><link linkend="print">print</link> </para></entry>
317</row>
318<row>
319<entry><para><keycombo>
320<keycap>ctrl</keycap>
321<keycap>q</keycap>
322</keycombo></para></entry>
323<entry><para>quit - close active copy of editor </para></entry>
324</row>
325<row>
326<entry><para><keycombo>
327<keycap>ctrl</keycap>
328<keycap>r</keycap>
329</keycombo></para></entry>
330<entry><para><link linkend="replace"> replace</link></para></entry>
331</row>
332<row>
333<entry><para><keycombo>
334<keycap>ctrl</keycap>
335<keycap>s</keycap>
336</keycombo></para></entry>
337<entry><para>invokes the <link linkend="save"><guilabel>save</guilabel></link> command.</para></entry>
338</row>
339<row>
340<entry><para><keycombo>
341<keycap>ctrl</keycap>
342<keycap>v</keycap>
343</keycombo></para></entry>
344<entry><para> paste the clipboard text into line edit. </para></entry>
345</row>
346<row>
347<entry><para><keycombo>
348<keycap>ctrl</keycap>
349<keycap>x</keycap>
350</keycombo></para></entry>
351<entry><para>delete the marked text and copy it to the clipboard. </para></entry>
352</row>
353<row>
354<entry><para><keycombo>
355<keycap>ctrl</keycap>
356<keycap>z</keycap>
357</keycombo></para></entry>
358<entry><para><link linkend="undo">undo</link></para></entry>
359</row>
360<row>
361<entry><para><keycombo>
362<keycap>ctrl</keycap>
363<keycap>shift</keycap>
364<keycap>z</keycap>
365</keycombo></para></entry>
366<entry><para><link linkend="redo">redo</link></para></entry>
367</row>
368</tbody>
369</tgroup>
370</informaltable>
371</sect1>
372</chapter>
373<chapter id="the-menu-entries">
374<title>the menu entries</title>
375<sect1 id="file">
376<title>the <guimenu>file</guimenu> menu</title>
377<variablelist>
378<varlistentry>
379<term><anchor id="new"/><menuchoice>
380<shortcut>
381<keycombo>
382<keycap>ctrl</keycap>
383<keycap>n</keycap>
384</keycombo>
385</shortcut>
386<guimenu><accel>f</accel>ile</guimenu>
387<guimenuitem><accel>n</accel>ew</guimenuitem>
388</menuchoice></term>
389<listitem>
390<para>this starts a new document in the editor. if there is a current  
391document with unsaved changes the user is given a chance to save it.</para>
392</listitem>
393</varlistentry>
394<varlistentry>
395<term><anchor id="open"/><menuchoice>
396<shortcut>
397<keycombo>
398<keycap>ctrl</keycap>
399<keycap>o</keycap>
400</keycombo>
401</shortcut>
402<guimenu><accel>f</accel>ile</guimenu>
403<guimenuitem><accel>0</accel>pen</guimenuitem>
404</menuchoice></term>
405<listitem>
406<para>this command opens a file.  it does this by means of a dialog box  
407which allows the user to navigate the file system.  the dialog operates  
408like a small file manager. clicking on directories displayed in the
409central window directs the dialog to enter that directory - displaying its  
410contents.  there is an entry/dropdown box which can be used to type in  
411directly the location and name of the file or by clicking the arrow at the  
412side choose from a dropdown list of recently used locations. below this is  
413a filter which similarly may have data entered directly or chosen from a  
414dropdown list of recent filter types.  the filter facility lets only files  
415that meet its specifications be displayed in the central window. if the  
416filter contained text such as <literal role="extension">*.txt</literal> then only files  
417with the txt extension would be visible in the selection window. below the filter
418is a status bar giving information about the number of files and subdirectories
419within the current directory.</para>
420<para>the  toolbar, which is located at the top of the dialog, has left and right
421arrow buttons that let the user move back and forth through previously selected
422directories as well as an up arrow button for moving up the directory tree. the
423button with the little house takes the user to his or her home directory and the one
424with the two arrows curved in on each other updates the view of the current
425directory. the flag button lets the user set a new bookmark at the current directory
426or go to  one that was previously set. 
427 the last button on the toolbar allows you to create a new
428directory, and finally  there is dropdown box with a list of some commonly
429frequented directories.</para>
430</listitem>
431</varlistentry>
432<varlistentry>
433<term><anchor id="open-recent"/><menuchoice>
434<guimenu><accel>f</accel>ile</guimenu>
435<guimenuitem>open  
436<accel>r</accel>ecent</guimenuitem>
437</menuchoice></term>
438<listitem>
439<para>this is a shortcut to open recently saved documents. clicking on
440this item opens a list to the side of the menu with several of the most recently
441saved files. clicking on a specific file will open it in <application>kwrite</application> - if the file
442still resides at the same location. </para>
443</listitem>
444</varlistentry>
445<varlistentry>
446<term><anchor id="save"/><menuchoice>
447<shortcut>
448<keycombo>
449<keycap>ctrl</keycap>
450<keycap>s</keycap>
451</keycombo>
452</shortcut>
453<guimenu><accel>f</accel>ile</guimenu>
454<guimenuitem><accel>s</accel>ave</guimenuitem>
455</menuchoice></term>
456<listitem>
457<para>this saves the current document.  if there has already been a
458save of the document then this will overwrite the previously saved file without
459asking for the user's consent.  if it is the first save of a new document the
460save as dialog (described below) will be invoked.</para>
461</listitem>
462</varlistentry>
463<varlistentry>
464<term><anchor id="save-as"/><menuchoice>
465<guimenu><accel>f</accel>ile</guimenu>
466<guimenuitem>save
467<accel>a</accel>s</guimenuitem>
468</menuchoice></term>
469<listitem>
470<para>this allows a document to be saved with a new file name. this is
471done by means of the file dialog box described above in the <link linkend="open">open</link> section of this help file.</para>
472</listitem>
473</varlistentry>
474<varlistentry>
475<term><anchor id="print"/><menuchoice>
476<shortcut>
477<keycombo>
478<keycap>ctrl</keycap>
479<keycap>p</keycap>
480</keycombo>
481</shortcut>
482<guimenu><accel>f</accel>ile</guimenu>
483<guimenuitem><accel>p</accel>rint</guimenuitem>
484</menuchoice></term>
485<listitem>
486<para>opens a simple print dialog allowing the user to specify what, where, and how to print</para>
487</listitem>
488</varlistentry>
489<varlistentry>
490<term><anchor id="new-window"/><menuchoice>
491<guimenu><accel>f</accel>ile</guimenu>
492<guimenuitem>new <accel>w</accel>indow</guimenuitem>
493</menuchoice></term>
494<listitem>
495<para>this creates a new window, <abbrev>i.e.</abbrev> a new instance of <application>kwrite</application>. in this way the user can easily work  
496on more than one file at a time with <application>kwrite</application>.</para>
497</listitem>
498</varlistentry>
499<varlistentry>
500<term><anchor id="new-view"/><menuchoice>
501<guimenu><accel>f</accel>ile</guimenu>
502<guimenuitem>new <accel>v</accel>iew</guimenuitem>
503</menuchoice></term>
504<listitem>
505<para>this creates a new view of the current document, <abbrev>i.e.</abbrev>, a new instance of
506<application>kwrite</application> (as explained in the previous entry) but containing the same
507document.</para>
508</listitem>
509</varlistentry>
510<varlistentry>
511<term><anchor id="close"/><menuchoice>
512<shortcut>
513<keycombo>
514<keycap>ctrl</keycap>
515<keycap>q</keycap>
516</keycombo>
517</shortcut>
518<guimenu><accel>f</accel>ile</guimenu>
519<guimenuitem><accel>q</accel>uit</guimenuitem>
520</menuchoice></term>
521<listitem>
522<para>this will close the editor window, if you have more than one
523instance of <application>kwrite</application> running, through the <guimenuitem>new view</guimenuitem> or
524<guimenuitem>new window</guimenuitem> menu items, those instances will not be
525closed.</para>
526</listitem>
527</varlistentry>
528</variablelist>
529</sect1>
530<sect1 id="edit">
531<title>the <guimenu>edit</guimenu> menu</title>
532<variablelist>
533<varlistentry>
534<term><anchor id="undo"/><menuchoice>
535<shortcut>
536<keycombo>
537<keycap>ctrl</keycap>
538<keycap>z</keycap>
539</keycombo>
540</shortcut>
541<guimenu><accel>e</accel>dit</guimenu>
542<guimenuitem>und<accel>o</accel></guimenuitem>
543</menuchoice></term>
544<listitem>
545<para>this is used to eliminate or reverse the most recent user action or operation. just what  
546constitutes such an action may be better understood by referring to the <link linkend="group-undos">group undos</link> portion of this help file.</para>
547</listitem>
548</varlistentry>
549<varlistentry>
550<term><anchor id="redo"/><menuchoice>
551<shortcut>
552<keycombo>
553<keycap>ctrl</keycap>
554<keycap>shift</keycap>
555<keycap>z</keycap>
556</keycombo>
557</shortcut>
558<guimenu><accel>e</accel>dit</guimenu>
559<guimenuitem>re<accel>d</accel>o</guimenuitem>
560</menuchoice></term>
561<listitem>
562<para>this will reverse the most recent change (if any) made using undo</para>
563</listitem>
564</varlistentry>
565<varlistentry>
566<term><anchor id="undohistory"/><menuchoice>
567<guimenu><accel>e</accel>dit</guimenu>
568<guimenuitem>undo/redo <accel>h</accel>istory</guimenuitem>
569</menuchoice></term>
570<listitem>
571<para>this will call a display box showing a list of the most recent actions on  
572the left and another list of actions which have been 'undone' on the right.  
573there are also three buttons at the right of the box labeled  
574<guibutton>undo</guibutton>, <guibutton>redo</guibutton>, and  
575<guibutton>close</guibutton>.  clicking on the <guibutton>undo</guibutton>  
576button will cause the action at the top of the undo list to be reversed which  
577will place that particular action at the top of the redo list. likewise,  
578clicking on the <guibutton>redo</guibutton> button will reinstate the reversed  
579action and move it back to the top of the undo list.  clicking on an item below  
580the top item in either list will select all the items from the top down to that  
581point.  a subsequent click on the corresponding button will cause all the  
582selected actions to be undone or redone accordingly.  this would be particularly  
583useful when the user knows precisely the point to which she or he would like to  
584proceed - making it unnecessary to go through a series of single undo or redo  
585actions.</para>
586</listitem>
587</varlistentry>
588<varlistentry>
589<term><anchor id="cut"/><menuchoice>
590<shortcut>
591<keycombo>
592<keycap>ctrl</keycap>
593<keycap>x</keycap>
594</keycombo>
595</shortcut>
596<guimenu><accel>e</accel>dit</guimenu>
597<guimenuitem>c<accel>u</accel>t</guimenuitem>
598</menuchoice></term>
599<listitem>
600<para>this command deletes the current selection and places it on the clipboard.  the  
601clipboard is a feature of kde that works invisibly to provide a way to transfer data between  
602applications.</para>
603</listitem>
604</varlistentry>
605<varlistentry>
606<term><anchor id="copy"/><menuchoice>
607<shortcut>
608<keycombo>
609<keycap>ctrl</keycap>
610<keycap>c</keycap>
611</keycombo>
612</shortcut>
613<guimenu><accel>e</accel>dit</guimenu>
614<guimenuitem><accel>c</accel>opy</guimenuitem>
615</menuchoice></term>
616<listitem>
617<para>this copies the currently selected text to the clipboard so that it may be  
618pasted elsewhere.  the clipboard is a feature of kde that works invisibly to  
619provide a way to transfer data between applications.</para>
620</listitem>
621</varlistentry>
622<varlistentry>
623<term><anchor id="paste"/><menuchoice>
624<shortcut>
625<keycombo>
626<keycap>ctrl</keycap>
627<keycap>v</keycap>
628</keycombo>
629</shortcut>
630<guimenu><accel>e</accel>dit</guimenu>
631<guimenuitem><accel>p</accel>aste</guimenuitem>
632</menuchoice></term>
633<listitem>
634<para>this will insert the contents of the clipboard at the cursor position. the  
635clipboard is feature of kde that works invisibly to provide a way to transfer  
636data between applications.</para>
637</listitem>
638</varlistentry>
639<varlistentry>
640<term><anchor id="select-all"/><menuchoice>
641<shortcut>
642<keycombo>
643<keycap>ctrl</keycap>
644<keycap>a</keycap>
645</keycombo>
646</shortcut>
647<guimenu><accel>e</accel>dit</guimenu>
648<guimenuitem>select <accel>a</accel>ll</guimenuitem>
649</menuchoice></term>
650<listitem>
651<para>this will select the entire document. this could be very useful for  
652copying the entire file to another application.</para>
653</listitem>
654</varlistentry>
655<varlistentry>
656<term><anchor id="invert-the-selection"/><menuchoice>
657<guimenu><accel>e</accel>dit</guimenu>
658<guimenuitem>invert <accel>s</accel>election</guimenuitem>
659</menuchoice></term>
660<listitem>
661<para>this selects any unselected text while unselecting any selected text -  
662effectively reversing the current state of selection.</para>
663</listitem>
664</varlistentry>
665<varlistentry>
666<term><anchor id="find"/><menuchoice>
667<shortcut>
668<keycombo>
669<keycap>ctrl</keycap>
670<keycap>f</keycap>
671</keycombo>
672</shortcut>
673<guimenu><accel>e</accel>dit</guimenu>
674<guimenuitem><accel>f</accel>ind</guimenuitem>
675</menuchoice></term>
676<listitem>
677<para>this opens the find dialog which is used to specify the <guilabel>text to  
678find</guilabel> in the document. there is small text box for entering the search  
679pattern which also doubles as a dropdown box. clicking on the dropdown arrow at  
680the side of the box makes available other recent search patterns. other  
681parameters are included to make the search more efficient. selecting  
682<guilabel>case sensitive</guilabel> will limit finds to entries that match the  
683case (upper or lower) of each of the characters in the search  
684pattern. <guilabel>find backwards</guilabel> directs the search to proceed in an  
685upwardly direction. the <guilabel>selected text</guilabel> option keeps the  
686search within currently selected text. checking <guilabel>whole words
687only</guilabel> prevents the search from stopping on words that contain the
688searched for pattern. the <guilabel>search from cursor</guilabel> option begins  
689the search from the current position of the cursor within the document rather  
690than from the beginning.</para>
691</listitem>
692</varlistentry>
693<varlistentry>
694<term><anchor id="find-again"/><menuchoice>
695<shortcut>
696<keycombo>
697<keycap>f3</keycap>
698</keycombo>
699</shortcut>
700<guimenu><accel>e</accel>dit</guimenu>
701<guimenuitem>find <accel>n</accel>ext</guimenuitem>
702</menuchoice></term>
703<listitem>
704<para>this repeats the last find operation, if any, without calling the find  
705dialog box.</para>
706</listitem>
707</varlistentry>
708<varlistentry>
709<term><anchor id="replace"/><menuchoice>
710<shortcut>
711<keycombo>
712<keycap>ctrl</keycap>
713<keycap>r</keycap>
714</keycombo>
715</shortcut>
716<guimenu><accel>e</accel>dit</guimenu>
717<guimenuitem><accel>r</accel>eplace</guimenuitem>
718</menuchoice></term>
719<listitem>
720<para>this command opens the replace dialog box.  the replace dialog is  
721almost identical to the above-mentioned find dialog.  in addition to the features in
722the find dialog it contains a <guilabel>replace with:</guilabel> text
723entry/dropdown box.  using this dialog the user can specify both the text to be found
724and text with which to replace it.  the additional <guilabel>prompt
725on replace</guilabel> option allows the user to have <application>kwrite</application> ask for
726confirmation before each replacement.</para>
727</listitem>
728</varlistentry>
729<varlistentry>
730<term><anchor id="insertfile"/>
731<menuchoice>
732<guimenu><accel>e</accel>dit</guimenu>
733<guimenuitem><accel>i</accel>nsert file</guimenuitem>
734</menuchoice></term>
735<listitem>
736<para>this <action>opens</action> the <guimenu>file</guimenu> <link linkend="open"><guimenuitem>open</guimenuitem></link> dialog box whereby the
737user can insert a complete file in the open document.  the the contents of
738the file will be entered at the position of the blinking text
739cursor.</para>
740</listitem>
741</varlistentry>
742</variablelist>
743</sect1>
744<sect1 id="go">
745<title>the <guimenu>go</guimenu> menu</title>
746<variablelist>
747<varlistentry>
748<term><anchor id="go-to-line"/><menuchoice>
749<guimenu><accel>g</accel>o</guimenu>
750<guimenuitem><accel>g</accel>o to line</guimenuitem>
751</menuchoice></term>
752<listitem>
753<para>this opens the goto line dialog box which is used to have the cursor jump  
754to a particular line (specified by number) in the document.  the line number may  
755be entered directly into the text box or graphically by clicking on the up or  
756down arrow spin controls at the side of the text box. the little up arrow will  
757increase the line number and the down arrow decrease it.  there is also a slide  
758control to the right of the text box which allows the user to move the goto  
759point in the document in an analog manner.</para>
760</listitem>
761</varlistentry>
762<varlistentry>
763<term><anchor id="add-marker"/><menuchoice>
764<shortcut>
765<keycombo>
766<keycap>ctrl</keycap>
767<keycap>m</keycap>
768</keycombo>
769</shortcut>
770<guimenu><accel>g</accel>o</guimenu>
771<guimenuitem><accel>a</accel>dd marker</guimenuitem>
772</menuchoice></term>
773<listitem>
774<para>this creates a marker in the document at the line where the cursor is  
775located and places it at the bottom of the list of markers located at the
776bottom of the go menu.</para>
777<para>markers are points within a <application>kwrite</application> document
778marked for easy return. if  the user thinks (s)he may need to return to a specific
779point (s)he may by way of this feature instruct <application>kwrite</application> to remember it. </para>
780</listitem>
781</varlistentry>
782<varlistentry>
783<term><anchor id="set-bookmark"/><menuchoice>
784<guimenu><accel>g</accel>o</guimenu>
785<guimenuitem><accel>s</accel>et marker</guimenuitem>
786</menuchoice></term>
787<listitem>
788<para>this creates a marker in the document at the line where the cursor is  
789located, and allows the user to choose its position in the list of bookmarks  
790which is appended at the bottom of this menu item.</para>
791</listitem>
792</varlistentry>
793<varlistentry>
794<term><anchor id="clear-bookmarks"/><menuchoice>
795<guimenu><accel>g</accel>o</guimenu>
796<guimenuitem><accel>c</accel>lear markers</guimenuitem>
797</menuchoice></term>
798<listitem>
799<para>this command will remove all the markers from the docucument as well as the
800list of markers which is appended at the  bottom of this menu item.</para>
801</listitem>
802</varlistentry>
803</variablelist>
804<para>at the bottom of this menu, a list of markers appears if any  
805markers are available for this window.</para>
806</sect1>
807<sect1 id="tools">
808<title>the <guimenu>tools</guimenu> menu</title>
809<variablelist>
810<varlistentry>
811<term><anchor id="spelling..."/><menuchoice>
812<guimenu><accel>t</accel>ools</guimenu>
813<guimenuitem><accel>s</accel>pelling...</guimenuitem>
814</menuchoice></term>
815<listitem>
816<para><action>this initiates the spell checking program - a program
817designed to help the user catch and correct any spelling errors.</action>
818clicking on this entry will start the checker and bring up the speller dialog
819box through which the user can control the process.  there are three text boxes
820lined up vertically in the center of the dialog with their corresponding labels
821just to the left.  starting at the top they are:</para>
822<variablelist>
823<varlistentry>
824<term><guilabel>misspelled word:</guilabel></term>
825<listitem>
826<para>here, the spell checker indicates the word currently under
827consideration.  this happens when the checker encounters a word not in its
828dictionary - a file containing a list of correctly spelled words against which
829it compares each word in the editor.</para>
830</listitem>
831</varlistentry>
832<varlistentry>
833<term><guilabel>replacement:</guilabel></term>
834<listitem>
835<para> if the checker has any similar words in its dictionary the
836first one will be listed here.  the user can accept the suggestion, type in his
837or her own correction, or choose a different suggestion from the next
838box.</para>
839</listitem>
840</varlistentry>
841<varlistentry>
842<term><guilabel>suggestions:</guilabel></term>
843<listitem>
844<para> the checker may list here a number of possible replacements for
845the word under consideration.  clicking on any one of the suggestions will cause
846that word to be entered in the <guilabel>replacement:</guilabel> box,
847above.</para>
848</listitem>
849</varlistentry>
850</variablelist>
851<para>on the right side of the dialog box are 6 buttons that allow the user to
852control the spell check process.  they are:</para>
853<variablelist>
854<varlistentry>
855<term><guibutton>replace</guibutton></term>
856<listitem>
857<para> this button has the checker replace the word under
858consideration in the document with the word in the
859<guilabel>replacement:</guilabel> box.</para>
860</listitem>
861</varlistentry>
862<varlistentry>
863<term><guibutton>replace all</guibutton></term>
864<listitem>
865<para> this button causes the checker to replace not only the current
866<guilabel>misspelled word:</guilabel> but to automatically make the same
867substitution for any other occurences of this <guilabel>misspelled
868word:</guilabel> in the document.</para>
869</listitem>
870</varlistentry>
871<varlistentry>
872<term><guibutton>ignore</guibutton></term>
873<listitem>
874<para>activating this button will have the checker move on without
875making any changes.</para>
876</listitem>
877</varlistentry>
878<varlistentry>
879<term><guibutton>ignore all</guibutton></term>
880<listitem>
881<para> this button tells the checker to do nothing with the current
882<guilabel>misspelled word:</guilabel> and to pass over any other instances of
883the same word.</para>
884<note>
885<para>this only applies to the current spell check
886run.  if the checker is run again later it will stop on this same
887word.</para>
888</note>
889</listitem>
890</varlistentry>
891<varlistentry>
892<term><guibutton>add</guibutton></term>
893<listitem>
894<para>pressing this button adds the word in the <guilabel>misspelled
895word:</guilabel> box to the checker's dictionary. this means that in the future
896the checker will always consider this word to be correctly
897spelled.</para>
898</listitem>
899</varlistentry>
900<varlistentry>
901<term><guibutton>stop</guibutton></term>
902<listitem>
903<para> this button stops the spell check process.</para>
904</listitem>
905</varlistentry>
906</variablelist>
907<para>located horizontally along the bottom of the spell check dialog is a
908progress bar.  as the checking process proceeds the bar will fill from left to
909right providing a graphical representation of how far along in the document the
910process has reached.  in addition, the progress is displayed numerically in
911the center of the progress bar.</para>
912<note>
913<para>a numerical display of the spell check
914process is simultaneously displayed in the status bar of the editor.  the <link linkend="show-statusbar">status bar</link> is the horizontal strip at the bottom
915of the editor just outside of the text entry area.</para>
916</note>
917<para>two more buttons are located below the progress bar.  they are:</para>
918<variablelist>
919<varlistentry>
920<term><guibutton>help</guibutton></term>
921<listitem>
922<para> this invokes the kde help system starting at the <application>kwrite</application> help
923pages (this document).</para>
924</listitem>
925</varlistentry>
926<varlistentry>
927<term><guibutton>cancel</guibutton></term>
928<listitem>
929<para> this button cancels the spell check process.</para>
930</listitem>
931</varlistentry>
932<varlistentry>
933<term><anchor id="indent"/><menuchoice>
934<guimenu>tools</guimenu>
935<guimenuitem>indent</guimenuitem>
936</menuchoice></term>
937<listitem>
938<para>this increases the paragraph's indentation by one step. the size of the
939step depends on the <link linkend="pref-indent"> indentation  
940settings</link>.</para>
941</listitem>
942</varlistentry>
943<varlistentry>
944<term><anchor id="unindent"/><menuchoice>
945<guimenu>tools</guimenu>
946<guimenuitem>unindent</guimenuitem>
947</menuchoice></term>
948<listitem>
949<para>this reduces the paragraph's indentation by one step. the size of the step  
950depends on the <link linkend="pref-indent"> indentation settings</link>.</para>
951</listitem>
952</varlistentry>
953<varlistentry>
954<term><anchor id="cleanindent"/><menuchoice>
955<guimenu>tools</guimenu>
956<guimenuitem>clean
957indentation</guimenuitem>
958</menuchoice></term>
959<listitem>
960<para>not yet implemented</para>
961</listitem>
962</varlistentry>
963<varlistentry>
964<term><menuchoice>
965<guimenu>tools</guimenu>
966<guimenuitem>comment</guimenuitem>
967</menuchoice></term>
968<listitem>
969<para>this adds one space to the beginning of the line
970where the text cursor is located or to the beginning of any
971selected lines.</para>
972</listitem>
973</varlistentry>
974<varlistentry>
975<term><menuchoice>
976<guimenu>tools</guimenu>
977<guimenuitem>uncomment</guimenuitem>
978</menuchoice></term>
979<listitem>
980<para>this removes one space (if any exist) from the beginning of the line
981where the text cursor is located or from the beginning of any
982selected lines.</para>
983</listitem>
984</varlistentry>
985</variablelist>
986</listitem>
987</varlistentry>
988</variablelist>
989</sect1>
990<sect1 id="settings">
991<title>the <guimenu>settings</guimenu> menu</title>
992<variablelist>
993<varlistentry>
994<term><anchor id="show-toolbar"/><menuchoice>
995<guimenu><accel>s</accel>ettings</guimenu>
996<guimenuitem>show <accel>t</accel>oolbar</guimenuitem>
997</menuchoice></term>
998<listitem>
999<para>when checked, this displays a movable toolbar containing buttons used to  
1000initiate frequently used commands. when unchecked the toolbar is hidden.</para>
1001</listitem>
1002</varlistentry>
1003<varlistentry>
1004<term><anchor id="show-statusbar"/><menuchoice>
1005<guimenu><accel>s</accel>ettings</guimenu>
1006<guimenuitem>show <accel>s</accel>tatusbar</guimenuitem>
1007</menuchoice></term>
1008<listitem>
1009<para>when checked, this displays a small bar at the bottom of the editor  
1010containing information about the status of the current document.  when unchecked  
1011the statusbar is hidden.</para>
1012</listitem>
1013</varlistentry>
1014<varlistentry>
1015<term><anchor id="show-path"/><menuchoice>
1016<guimenu><accel>s</accel>ettings</guimenu>
1017<guimenuitem>sho<accel>w</accel> path</guimenuitem>
1018</menuchoice></term>
1019<listitem>
1020<para>when selected, this displays in the title bar the path (its location in the
1021file system) of the current document.  when unchecked the path is hidden.</para>
1022</listitem>
1023</varlistentry>
1024<varlistentry>
1025<term><anchor id="configure-keybindings"/><menuchoice>
1026<guimenu><accel>s</accel>ettings</guimenu>
1027<guimenuitem>configure <accel>k</accel>ey bindings</guimenuitem>
1028</menuchoice></term>
1029<listitem>
1030<para>this command opens a dialog box whereby the <link linkend="keybindings">key bindings</link> may be changed.  a display window at
1031the top of the dialog box shows the list of commands (actions) that can have
1032keyboard shortcuts.  below the display are three radio buttons.  the user may choose
1033between no key, default key, and custom key.  (note that a set of radio buttons only
1034allows the selection of one of the offered items - in the way that buttons on a car
1035radio only offer the selection of one preset station.  also, the default key
1036selection  is only available for those commands that actually have a 'default'
1037shortcut.)  selecting the custom key option activates the three check boxes and key
1038button at the bottom of the dialog. the user may then select a key
1039combination for the command in question by means of the check boxes and key
1040button. for example, with the about kde command selected in the display window,  
1041the user could select <keycap>ctrl</keycap> and <keycap>alt</keycap>, click on  
1042the key button, and then press the <keycap>k</keycap> key on the keyboard.  this  
1043would mean that anytime he or she held down the <keycap>ctrl</keycap> and  
1044<keycap>alt</keycap> buttons and pressed <keycap>k</keycap> (while using  
1045<application>kwrite</application>) the about kde display box would be called. </para>
1046</listitem>
1047</varlistentry>
1048<varlistentry>
1049<term><anchor id="configure-toolbars"/><menuchoice>
1050<guimenu><accel>s</accel>ettings</guimenu>
1051<guimenuitem>configure tool<accel>b</accel>ars</guimenuitem>
1052</menuchoice></term>
1053<listitem>
1054<para>this will open the dialog whereby the toolbar configuration may
1055be changed.   the user can choose which shortcut buttons should appear on the  
1056toolbar. a display window on the left lists the commands available to placed
1057on the toolbar.  a display on the right lists those commands already on the  
1058toolbar.  a set of four arrow buttons between the two displays manipulates the  
1059selections.  the right pointing arrow places any command selected in the left  
1060pane onto the right pane, <abbrev>i.e.</abbrev>, it is added to the toolbar.  
1061the left arrow does just the opposite, removing any action selected in the right  
1062window from the toolbar.  the up and down pointing arrows change the position of  
1063an action selected in the right window which changes the position of its button  
1064in the toolbar.</para>
1065</listitem>
1066</varlistentry>
1067<varlistentry>
1068<term><anchor id="preferences"/><menuchoice>
1069<guimenu><accel>s</accel>ettings</guimenu>
1070<guimenuitem><accel>p</accel>references</guimenuitem>
1071</menuchoice></term>
1072<listitem>
1073<para>this menu item opens a dialog whereby several different <link linkend="pref-dialog">settings</link> may be adjusted.</para>
1074</listitem>
1075</varlistentry>
1076<varlistentry>
1077<term><menuchoice>
1078<guimenu><accel>s</accel>ettings</guimenu>
1079<guimenuitem>configure
1080highlighti<accel>n</accel>g</guimenuitem>
1081</menuchoice></term>
1082<listitem>
1083<para>opens a dialog box allowing configuration of the syntax  
1084highlighting.  the dialog is described in <xref linkend="pref-highlighting"/>.</para>
1085</listitem>
1086</varlistentry>
1087<varlistentry>
1088<term><anchor id="vertical-selection"/><menuchoice>
1089<guimenu><accel>s</accel>ettings</guimenu>
1090<guimenuitem><accel>v</accel>ertical  
1091selection</guimenuitem>
1092</menuchoice></term>
1093<listitem>
1094<para>this is used to turn on or off the vertical selection feature.  vertical  
1095selection allows text to be selected by column as well as by row.  in other  
1096words with this feature the user is able to select text contained in only  
1097particular contiguous columns and rows.  in affect the user can select a  
1098rectangular area of text anywhere in the document.</para>
1099</listitem>
1100</varlistentry>
1101<varlistentry>
1102<term><anchor id="set-highlight"/><menuchoice>
1103<guimenu><accel>s</accel>ettings</guimenu>
1104<guimenuitem><accel>h</accel>ighlight mode</guimenuitem>
1105</menuchoice></term>
1106<listitem>
1107<para>this allows the user to choose the style of color highlighting which the  
1108editor uses to display the text. the styles are selected by programming
1109language. the font/color information is not stored with the document.</para>
1110</listitem>
1111</varlistentry>
1112<varlistentry>
1113<term><anchor id="end-of-line"/><menuchoice>
1114<guimenu><accel>s</accel>ettings</guimenu>
1115<guisubmenu><accel>e</accel>nd of line</guisubmenu>
1116</menuchoice></term>
1117<listitem>
1118<para>this opens a sub-menu from which the user can select the type of <quote>end of  
1119line</quote> code for <application>kwrite</application> to use, <abbrev>i.e.</abbrev>, the accepted standard  
1120used by unix, <trademark class="registered">mac</trademark> or msdos/<trademark class="registered">windows</trademark> systems.</para>
1121</listitem>
1122</varlistentry>
1123</variablelist>
1124</sect1>
1125<sect1 id="help">
1126<title>the <guimenuitem>help</guimenuitem> menu</title>
1127<variablelist>
1128<varlistentry>
1129<term><anchor id="contents"/><menuchoice>
1130<shortcut>
1131<keycombo>
1132<keycap>f1</keycap>
1133</keycombo>
1134</shortcut>
1135<guimenu><accel>h</accel>elp</guimenu>
1136<guimenuitem><accel>c</accel>ontents</guimenuitem>
1137</menuchoice></term>
1138<listitem>
1139<para>this invokes the kde help system starting at the <application>kwrite</application> help pages (this document).</para>
1140</listitem>
1141</varlistentry>
1142<varlistentry>
1143<term><anchor id="whats-this"/><menuchoice>
1144<shortcut>
1145<keycombo>
1146<keycap>shift</keycap>
1147<keycap>f1</keycap>
1148</keycombo>
1149</shortcut>
1150<guimenu><accel>h</accel>elp</guimenu>
1151<guimenuitem>what's <accel>t</accel>his?</guimenuitem>
1152</menuchoice></term>
1153<listitem>
1154<para>this changes the mouse cursor to a combination arrow and question mark.  
1155clicking on items within <application>kwrite</application> with this arrow will open a help window (if  
1156one exists for the particular item) explaining the item's function.</para>
1157</listitem>
1158</varlistentry>
1159<varlistentry>
1160<term><anchor id="report-bug"/><menuchoice>
1161<guimenu><accel>h</accel>elp</guimenu>
1162<guimenuitem><accel>r</accel>eport bug</guimenuitem>
1163</menuchoice></term>
1164<listitem>
1165<para><action>this calls a dialog box to help
1166the user help the kde team to track down and solve any
1167problems(bugs) in the program.  the dialog attempts to do this by
1168means of email using the information given by the user.</action></para>
1169</listitem>
1170</varlistentry>
1171<varlistentry>
1172<term><anchor id="about-kwrite"/><menuchoice>
1173<guimenu><accel>h</accel>elp</guimenu>
1174<guimenuitem><accel>a</accel>bout kwrite</guimenuitem>
1175</menuchoice></term>
1176<listitem>
1177<para>this will display version and author information</para>
1178</listitem>
1179</varlistentry>
1180<varlistentry>
1181<term><anchor id="about-kde"/><menuchoice>
1182<guimenu><accel>h</accel>elp</guimenu>
1183<guimenuitem>about <accel>k</accel>de</guimenuitem>
1184</menuchoice></term>
1185<listitem>
1186<para>this displays the kde version and other basic information.</para>
1187</listitem>
1188</varlistentry>
1189</variablelist>
1190</sect1>
1191</chapter>
1192<chapter id="pref-dialog">
1193<title>configure <application>kwrite</application></title>
1194<para>selecting
1195<menuchoice>
1196<guimenu>settings</guimenu>
1197<guimenuitem>configure
1198kwrite</guimenuitem>
1199</menuchoice> from the menu brings up the configure-kwrite
1200dialog box.  this dialog can be used to alter a number of different settings.  the
1201settings available for change vary according to which category the user chooses from
1202a vertical list on the left side of the dialog.  by means of three buttons
1203along the bottom of the box the user can control the process.  she or he may invoke
1204the <guilabel>help</guilabel> system, accept the current settings and close the
1205dialog by means of the <guibutton>ok</guibutton> button, or
1206<guibutton>cancel</guibutton> the process. the categories
1207<guilabel>colors</guilabel>, <guilabel>indent</guilabel>,
1208<guilabel>select</guilabel>, <guilabel>edit</guilabel>, and
1209<guilabel>spelling</guilabel> are detailed below.</para>
1210<sect1 id="prefcolors">
1211<title>colors</title>
1212<para>this section provides access to <link linkend="pref-color-settings">five different color settings</link>,  
1213described below.  each of these settings may be changed by clicking on its  
1214corresponding button.  these are special wide buttons that are the color of  
1215the current setting.  clicking on one of the buttons calls a special color  
1216dialog box used to change the setting.</para>
1217<para>the color dialog box provides a convenient and graphical way to
1218select a color.  in the upper left of the box is a rectangular display of a  
1219spectrum of colors. to the immediate right of this, is vertical bar  
1220displaying a range of intensity from the most dark at the bottom to the  
1221most light at the top.  the user may select and adjust a color by clicking  
1222in these two boxes. clicking in the rectangular display selects a  
1223particular mix of red, green, and blue colors and in the vertical bar  
1224selects a level of intensity (value).  the various color attributes are displayed  
1225in numerical form in small text boxes located directly below the spectral  
1226rectangle and the user can see them change as the color is adjusted.  these  
1227attributes include the mix of the basic color components (red, green, and  
1228blue) as well as hue and saturation levels.  alternatively the user can  
1229enter figures directly in these boxes.  there is also a square at the  
1230bottom center of the dialog box which displays the color which is under  
1231consideration at any time.  to the right of this display is another text  
1232box labeled <guilabel>html:</guilabel> this shows the user the color code  
1233that would be used to specify the particular displayed color in  
1234<acronym>html</acronym> code which is widely used for web pages.</para>
1235<para>in addition to the above, the color dialog allows the capture of any  
1236color currently displayed on the desktop or in another program.  clicking  
1237on the button with the dropper icon (located on the right side of the  
1238dialog box,) changes the shape of the mouse cursor to a set of crosshairs.  
1239clicking again will pick up the color attributes of whatever color is  
1240displayed under the cross hairs.</para>
1241<para>furthermore the user has the option of adding any color to a personal
1242palette of <quote>custom colors</quote> by clicking on the wide button labeled
1243<guibutton>add to custom colors</guibutton> (which is located directly above the
1244display square.)  this adds the current color to the custom color palette.  this
1245palette and any other available palettes can be displayed using the drop down
1246selection box located directly above the palette display at the top right of the
1247dialog box.  besides the custom colors, the user can access a number of
1248pre-prepared palettes.</para>
1249<variablelist>
1250<varlistentry id="pref-color-settings">
1251<term><guilabel>background</guilabel></term>
1252<listitem>
1253<para>here the user can specify a color for the general background of  
1254<application>kwrite</application>.</para>
1255</listitem>
1256</varlistentry>
1257<varlistentry>
1258<term><guilabel>text background</guilabel></term>
1259<listitem>
1260<para>this is used to set a particular color to display in the  
1261background of those areas of the document containing text.</para>
1262</listitem>
1263</varlistentry>
1264<varlistentry>
1265<term><guilabel>selected</guilabel></term>
1266<listitem>
1267<para>this allows the user to select a color to be used for indicating  
1268selected (or highlighted) portions of the document.</para>
1269</listitem>
1270</varlistentry>
1271<varlistentry>
1272<term><guilabel>found</guilabel></term>
1273<listitem>
1274<para>this specifies the preferred color with which to mark text  
1275encountered as the result of a <link linkend="find">find</link>  
1276operation.</para>
1277</listitem>
1278</varlistentry>
1279<varlistentry>
1280<term><guilabel>selected + found</guilabel></term>
1281<listitem>
1282<para>this sets the color for text that has not only been found as in  
1283the previous entry above but that has also been selected.</para>
1284</listitem>
1285</varlistentry>
1286</variablelist>
1287</sect1>
1288<sect1 id="pref-indent">
1289<title>indent</title>
1290<variablelist>
1291<varlistentry>
1292<term><guilabel>auto indent</guilabel></term>
1293<listitem>
1294<para>this causes  
1295new lines to begin with the same indentation level as the previous  
1296line.</para>
1297</listitem>
1298</varlistentry>
1299<varlistentry>
1300<term><guilabel>indent with spaces</guilabel></term>
1301<listitem>
1302<para>this  
1303replaces tabs with the number of spaces selected in the tab width window in  
1304the <link linkend="pref-edit">edit</link> section of the preferences  
1305dialog.</para>
1306</listitem>
1307</varlistentry>
1308<varlistentry>
1309<term><guilabel>backspace key indents</guilabel></term>
1310<listitem>
1311<para>this allows the  
1312<keycombo>
1313<keycap>backspace</keycap>
1314</keycombo> key to be used to  
1315indent.</para>
1316</listitem>
1317</varlistentry>
1318<varlistentry>
1319<term><guilabel>tab key indents</guilabel></term>
1320<listitem>
1321<para>this  
1322allows the <keycombo>
1323<keycap>tab</keycap>
1324</keycombo> key to be used to  
1325indent.</para>
1326</listitem>
1327</varlistentry>
1328<varlistentry>
1329<term><guilabel>keep indent profile</guilabel></term>
1330<listitem>
1331<para>this  
1332retains current indentation settings for future documents.</para>
1333</listitem>
1334</varlistentry>
1335<varlistentry>
1336<term><guilabel>keep extra spaces</guilabel></term>
1337<listitem>
1338<para>indentations of more than the selected number of spaces  
1339will not be shortened.</para>
1340</listitem>
1341</varlistentry>
1342</variablelist>
1343</sect1>
1344<sect1 id="pref-select">
1345<title>select</title>
1346<variablelist>
1347<varlistentry>
1348<term><guilabel>persistent selections</guilabel></term>
1349<listitem>
1350<para>this prevents key input or cursor movement by way of the  
1351arrow keys from causing the elimination of text  
1352selection. </para>
1353<note>
1354<para>(note: if the overwrite selections option is  
1355activated then any typed character input or paste operation will replace  
1356the selected text.)</para>
1357</note>
1358</listitem>
1359</varlistentry>
1360<varlistentry>
1361<term><guilabel>overwrite selections</guilabel></term>
1362<listitem>
1363<para>any keyed character input or paste operation will replace  
1364the selected text.  </para>
1365</listitem>
1366</varlistentry>
1367<varlistentry>
1368<term><guilabel>mouse autocopy</guilabel></term>
1369<listitem>
1370<para>any text  
1371selected with the mouse will be automatically copied to the  
1372clipboard.</para>
1373</listitem>
1374</varlistentry>
1375<varlistentry>
1376<term><guilabel>x11-like single selection</guilabel></term>
1377<listitem>
1378<para>not implemented yet.</para>
1379</listitem>
1380</varlistentry>
1381<varlistentry>
1382<term><guilabel>vertical selections</guilabel></term>
1383<listitem>
1384<para>this  
1385activates the <link linkend="vertical-selection">vertical selection</link>  
1386option.</para>
1387</listitem>
1388</varlistentry>
1389<varlistentry>
1390<term>toggle old</term>
1391<listitem>
1392<para>not yet implemented</para>
1393</listitem>
1394</varlistentry>
1395</variablelist>
1396</sect1>
1397<sect1 id="pref-edit">
1398<title>edit</title>
1399<variablelist>
1400<varlistentry>
1401<term id="pref-word-wrap"><guilabel>word wrap</guilabel></term>
1402<listitem>
1403<para>word wrap is a feature that causes the editor to
1404automatically start a new line of text and move (wrap) the cursor to the
1405beginning of that new line.  <application>kwrite</application> will automatically start a new line of text
1406when  the current line reaches the length specified by the <link linkend="pref-wrap-words-at">wrap words at:</link>  
1407option.</para>
1408</listitem>
1409</varlistentry>
1410<varlistentry>
1411<term id="pref-wrap-words-at"><guilabel>wrap words  
1412at:</guilabel></term>
1413<listitem>
1414<para>if the <link linkend="pref-word-wrap">word wrap</link> option is selected this entry  
1415determines the length (in characters) at which the editor will
1416automatically start a new line.</para>
1417</listitem>
1418</varlistentry>
1419<varlistentry>
1420<term id="pref-replace-tabs-by-spaces"><guilabel>replace tabs by  
1421spaces</guilabel></term>
1422<listitem>
1423<para><application>kwrite</application> will replace any tabs  
1424with the number of spaces indicated in the <link linkend="pref-tab-width">tab width:</link> entry.</para>
1425</listitem>
1426</varlistentry>
1427<varlistentry>
1428<term id="pref-tab-width">tab width</term>
1429<listitem>
1430<para>if the <link linkend="pref-word-wrap"><guilabel>replace tabs by spaces</guilabel></link>  
1431option is selected this entry determines the number of spaces with which
1432the editor will automatically replace tabs.</para>
1433</listitem>
1434</varlistentry>
1435<varlistentry>
1436<term><guilabel>remove trailing spaces</guilabel></term>
1437<listitem>
1438<para><application>kwrite</application> will automatically eliminate extra spaces at the  
1439ends of lines of text.</para>
1440</listitem>
1441</varlistentry>
1442<varlistentry>
1443<term><guilabel>auto brackets</guilabel></term>
1444<listitem>
1445<para>when the
1446user types a left bracket ([,(, or {) <application>kwrite</application> automatically
1447enters the right bracket (}, ), or ]) to the right of the
1448cursor.</para>
1449</listitem>
1450</varlistentry>
1451<varlistentry>
1452<term id="group-undos"><guilabel>group undos</guilabel></term>
1453<listitem>
1454<para>groups of similar actions are to be considered a single
1455<link linkend="undo">undo</link> step by <application>kwrite</application>. in other words, a series
1456of regular character keystrokes (words or expressions) would be considered
1457one step and therefore be removed by a single undo operation.  if the
1458series of character entries were interrupted by a non-character entry
1459operation (such as a backspace), invoking undo would only remove the
1460entries made since that operation. the next undo would then reverse that
1461operation and so on.</para>
1462<para> when this option is not selected <application>kwrite</application> considers
1463each keystroke to be a single step.  so if the user (with this option
1464active) were to type several words or even sentences without having to make
1465corrections or cut or paste or some other non-character entry operation
1466then a click of the undo button would eliminate all that had been typed
1467since the last non-entry operation.  a second click would eliminate that
1468operation and a third any operation or series of entries that occurred
1469before the operation and so on.  when not selected three clicks of the undo
1470button would only remove the last three letters typed, or the last three
1471operations.</para>
1472</listitem>
1473</varlistentry>
1474<varlistentry>
1475<term><guilabel>show tabs</guilabel></term>
1476<listitem>
1477<para>the editor will display a symbol to indicate the presence  
1478of a tab in the text.</para>
1479</listitem>
1480</varlistentry>
1481<varlistentry>
1482<term><guilabel>smart home</guilabel></term>
1483<listitem>
1484<para>not yet implemented</para>
1485</listitem>
1486</varlistentry>
1487<varlistentry>
1488<term><guilabel>page up/down moves cursor</guilabel></term>
1489<listitem>
1490<para>this option changes the behavior of the cursor when
1491the user presses the <keycap>page up</keycap> or <keycap>page down</keycap> key. if
1492unselected the text cursor will maintain its relative position within the visible
1493text in <application>kwrite</application> as new text becomes visible as a result of the operation.  so if
1494the cursor is in the middle of the visible text when the operation occurs it will
1495remain there (except when one reaches the beginning or end.)  with this
1496option selected, the first key press will cause the cursor to move to either the top
1497or bottom of the visible text as a new page of text is displayed.</para>
1498</listitem>
1499</varlistentry>
1500<varlistentry>
1501<term>wrap cursor</term>
1502<listitem>
1503<para>when this option is chosen, moving
1504the cursor with the arrow keys off the end of a line (to the right) causes
1505it to jump down to the beginning of the next line.  likewise when the
1506cursor is moved past the beginning of a line (to the left) it jumps up to
1507the end of the preceding line. when this option is not selected, moving the
1508cursor right past the end of a line merely causes it to continue
1509horizontally in the same line and trying to move it left past the beginning
1510does nothing.</para>
1511</listitem>
1512</varlistentry>
1513<varlistentry>
1514<term><link linkend="undo">undo</link> steps:</term>
1515<listitem>
1516<para>here
1517the user may specify the number of steps <application>kwrite</application> will retain in memory for
1518purposes of undoing entries and actions.  this means that the higher the
1519number of steps set the more memory <application>kwrite</application> will use for this.  setting
1520this entry to 10 would mean that the user would be be able reverse the last
1521ten operations, <abbrev>i.e.</abbrev>i&#62;, click the <guibutton>undo</guibutton>
1522button 10 times and obtain results.</para>
1523</listitem>
1524</varlistentry>
1525</variablelist>
1526</sect1>
1527<sect1 id="prefspellchecker">
1528<title>spelling</title>
1529<para>a spell checker is a program designed to
1530help the user catch and correct any spelling errors.  this section of the
1531preferences dialog allows certain important settings to be adjusted in this
1532regard.</para>
1533<variablelist>
1534<varlistentry>
1535<term><guilabel>create root/affix combinations not in
1536dictionary</guilabel></term>
1537<listitem>
1538<para>selecting this option allows
1539the spell checker to register as 'correct' combinations of root words with
1540suffixes or prefixes even if the particular combination is not listed in
1541its dictionary data base of words.</para>
1542</listitem>
1543</varlistentry>
1544<varlistentry>
1545<term><guilabel>consider run-together words as spelling
1546errors</guilabel></term>
1547<listitem>
1548<para>selecting this will cause the
1549spell checker to register as 'misspelled' two or more correctly spelled
1550words that are 'run-together', <abbrev>i.e.</abbrev>, that do not have spaces
1551separating them.</para>
1552</listitem>
1553</varlistentry>
1554<varlistentry>
1555<term><guilabel>dictionary:</guilabel></term>
1556<listitem>
1557<para>depending on
1558the user's installation one or more different language spelling
1559dictionaries may be available.  this drop down box allows the user to
1560choose which language the spell checker should use.</para>
1561</listitem>
1562</varlistentry>
1563<varlistentry>
1564<term><guilabel>encoding:</guilabel></term>
1565<listitem>
1566<para>there are  
1567different coding systems used to associate particular codes with particular  
1568characters and symbols.  if the user knows which code he or she is using  
1569this drop down box allows this code to be specified so that the spell
1570checker can do its job correctly. </para>
1571</listitem>
1572</varlistentry>
1573<varlistentry>
1574<term><guilabel>client:</guilabel></term>
1575<listitem>
1576<para>since <application>kwrite</application>
1577does not contain its own spell checker, an external one must be chosen.
1578this is where the user may specify which spell check program to
1579use.</para>
1580</listitem>
1581</varlistentry>
1582</variablelist>
1583</sect1>
1584</chapter>
1585<chapter id="pref-highlighting">
1586<title>highlighting</title>
1587<para>the <guilabel>configure highlighting</guilabel> dialog consists of two
1588pages, <guilabel>defaults</guilabel> and <guilabel>highlighting
1589modes</guilabel>.  the user can select which page to view by clicking on the
1590appropriate tab at the top of the dialog</para>
1591<para>items available on the <guilabel>defaults</guilabel> page are as
1592follows:</para>
1593<variablelist>
1594<varlistentry>
1595<term><guilabel>default item styles</guilabel></term>
1596<listitem>
1597<para>the user can configure the default appearance for particular items.
1598this would allow a programmer to more easily identify different items (types of
1599entries) in his or her code.
1600
1601</para>
1602<variablelist>
1603<varlistentry>
1604<term><guilabel>item</guilabel></term>
1605<listitem>
1606<para>this drop down list offers a variety of items that the user
1607might want to highlight.  they include <guilabel>normal</guilabel> for
1608text does not fit in any of the other categories, <guilabel>comment</guilabel>,
1609<guilabel>string</guilabel>, <guilabel>keyword</guilabel> and many more.  not
1610all of these entries will need to be configured for every language and so may be
1611selected as needed.  the options in the rest of this section apply
1612to the entry selected in this box.</para>
1613</listitem>
1614</varlistentry>
1615<varlistentry>
1616<term><guilabel>normal</guilabel></term>
1617<listitem>
1618<para>this allows the user to choose the item's normal
1619(unselected) color.  this is done by means of a color selection
1620dialog box, a further explanation of which may be found in the <link linkend="prefcolors">colors</link> section of <link linkend="pref-dialog">configure kwrite</link>.</para>
1621</listitem>
1622</varlistentry>
1623<varlistentry>
1624<term><guilabel>bold</guilabel></term>
1625<listitem>
1626<para>this option determines whether or not the item should be displayed in
1627bold text.</para>
1628</listitem>
1629</varlistentry>
1630<varlistentry>
1631<term><guilabel>italic</guilabel></term>
1632<listitem>
1633<para>this option determines whether or not the item should be displayed in italic
1634text.</para>
1635</listitem>
1636</varlistentry>
1637<varlistentry>
1638<term><guilabel>selected</guilabel></term>
1639<listitem>
1640<para>this allows the user to choose the item's color
1641when selected.  this is done by means of a color selection
1642dialog box, a further explanation of which may be found in the <link linkend="prefcolors">colors</link> section of <link linkend="pref-dialog">configure kwrite</link>.</para>
1643</listitem>
1644</varlistentry>
1645</variablelist>
1646</listitem>
1647</varlistentry>
1648<varlistentry>
1649<term><guilabel>default font</guilabel></term>
1650<listitem>
1651<para>here the user can choose the default font for all
1652text.</para>
1653<variablelist>
1654<varlistentry>
1655<term><guilabel>family</guilabel></term>
1656<listitem>
1657<para>this is used to choose the font family.  the default is fixed.
1658for most programming purposes, a monospaced font (one in which a w takes up the same
1659amount of space as an i) may be the best choice.</para>
1660</listitem>
1661</varlistentry>
1662<varlistentry>
1663<term><guilabel>size</guilabel></term>
1664<listitem>
1665<para>the font size can be changed here.  the default is 12
1666points.</para>
1667</listitem>
1668</varlistentry>
1669<varlistentry>
1670<term><guilabel>charset</guilabel></term>
1671<listitem>
1672<para>here the user can choose which character set to work in.</para>
1673</listitem>
1674</varlistentry>
1675</variablelist>
1676</listitem>
1677</varlistentry>
1678</variablelist>
1679<para>items on the <guilabel>highlight modes</guilabel> tab allow the user to define
1680more specific highlighting depending on the language style.</para>
1681<para>one need not set every available option, items not configured
1682specifically will use the default configuration specified on the previous  
1683(<guilabel>defaults</guilabel> tab.</para>
1684<variablelist>
1685<varlistentry>
1686<term><guilabel>config select</guilabel></term>
1687<listitem>
1688<para>this group of options is used to customize the highlighting styles
1689for each programming language type.  any changes you made in
1690other areas of this dialog apply only to this type.</para>
1691<variablelist>
1692<varlistentry>
1693<term><guilabel>highlight</guilabel></term>
1694<listitem>
1695<para>this is used to choose the language type to
1696configure</para>
1697</listitem>
1698</varlistentry>
1699<varlistentry>
1700<term><guilabel>item</guilabel></term>
1701<listitem>
1702<para>this is to choose the syntax item to configure.  remember
1703this  only configures <emphasis>this</emphasis> item for <emphasis>this</emphasis>
1704language.</para>
1705</listitem>
1706</varlistentry>
1707</variablelist>
1708<para>as an example, if the user wished to configure the appearance of
1709<quote>comments</quote> while writing c++, she or he could choose c++ in the
1710<guilabel>highlight</guilabel> drop down list, and then choose comment in the
1711<guilabel>item</guilabel> drop down list. to have <quote>comments</quote> look
1712the same across all languages, the user would need to configure this in the
1713<guilabel>defaults</guilabel> page of this dialog box while leaving
1714<quote>comments</quote> unconfigured within the more specific
1715<guilabel>highlight modes</guilabel> page.</para>
1716</listitem>
1717</varlistentry>
1718<varlistentry>
1719<term><guilabel>item style</guilabel></term>
1720<listitem>
1721<para>here the user can configure the general appearance of the above
1722selected item.  checking the <guilabel>default</guilabel> checkbox causes the default
1723style as configured on the previous tab to be set, or the
1724appearance can be configured directly.  the available options are the same as on the
1725<guilabel>defaults</guilabel> tab: <guilabel>normal</guilabel>,
1726<guilabel>selected</guilabel>, <guilabel>bold</guilabel> and
1727<guilabel>italic</guilabel>.</para>
1728</listitem>
1729</varlistentry>
1730<varlistentry>
1731<term><guilabel>highlight auto select</guilabel></term>
1732<listitem>
1733<para><application>kwrite</application> can apply syntax highlighting automatically, depending  
1734on the file extension or mime-type of the opened file.  the defaults are fairly
1735comprehensive, but users that regularly edit files with non-standard extensions
1736can add them here.  wildcards are allowed in the <guilabel>file
1737extensions</guilabel> text box.  for example, the default entry for the c++
1738language is <userinput>*.cpp;*.cc;*.c;*.h</userinput>.  opening a file called
1739<filename>foo.h</filename> would automatically apply the c++ style to it.</para>
1740</listitem>
1741</varlistentry>
1742<varlistentry>
1743<term><guilabel>item font</guilabel></term>
1744<listitem>
1745<para>here the user can choose the font for the selected item.</para>
1746<para>the default style can be applied by checking the
1747<guilabel>default</guilabel> checkbox or the user can choose a specific font
1748<guilabel>family</guilabel>, <guilabel>size</guilabel> and
1749<guilabel>charset</guilabel>.  the available options are the same as those on
1750the <guilabel>defaults</guilabel> tab.</para>
1751</listitem>
1752</varlistentry>
1753</variablelist>
1754</chapter>
1755<chapter id="credits">
1756<title>credits and licenses</title>
1757<para><application>kwrite</application> copyright 2000 by jochen wilhelmy  
1758<email>digisnap@cs.tu-berlin.de</email></para>
1759<para>contributions:</para>
1760<itemizedlist>
1761<listitem>
1762<para>additional contributions by glen parker <email>glenebob@nwlink.com</email></para>
1763</listitem>
1764<listitem>
1765<para>michael koch <email>koch@kde.org</email></para>
1766</listitem>
1767</itemizedlist>
1768<para>documentation by thad mcginnis <email>ctmcginnis@compuserve.com</email></para>
1769<itemizedlist>
1770<listitem>
1771<para>this version of the <application>kwrite</application> handbook is based on the original by cristian tibirna <email>tibirna@kde.org</email></para>
1772</listitem>
1773</itemizedlist>
1774<para>converted to docbook/proofreading by lauri watts <email>vampyr@atconnex.net</email></para>
1775<para id="gnu-fdl" xreflabel="the section entitled gnu free documentation license">this documentation is licensed under the terms of the <ulink url="common/fdl-license.html">gnu free documentation
1776license</ulink>.</para>
1777<para>this program is licensed under the terms of the <ulink url="common/gpl-translated.html">gnu general public license</ulink>.</para>
1778</chapter>
1779<appendix id="installation">
1780<title>installation</title>
1781<para><application>kwrite</application> is packaged as part of the kdebase package.  for more information
1782on installing and compiling kde please see <ulink url="http://www.kde.org">www.kde.org</ulink>.</para>
1783</appendix>
1784</book>
1785