<chapter id="kate-mdi">
<chapterinfo>
<authorgroup>
<author>&Anders.Lund; &Anders.Lund.mail;</author>
<author>&tde-authors;</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
</chapterinfo>
<title>Working With the &kate; <acronym>MDI</acronym></title>

<sect1 id="kate-mdi-overview">
<title>Overview</title>

<para>Window, View, Document, Frame, Editor... What are they all in
the terminology of &kate;, and how do you get the most out of it? This
chapter will explain all of that, and even more.</para>

<sect2 id="kate-mdi-overview-mainwindow">

<title>The Main Window</title>

<para><indexterm><primary>Main window</primary></indexterm>
The &kate; Main Window is a standard &tde; application window,
with the addition of side bars containing tool views. It has a
Menubar with all the common menus, and some more, and a toolbar
providing access to commonly used commands.</para>

<para>The most important part of the window is the Editing Area, by
default displaying a single text editor component, in which you can
work with your documents.</para>

<para>The docking capabilities of the window is used for the tool
windows:</para>

<itemizedlist>
<listitem><para><link linkend="kate-mdi-tools-documents-list">The Document List</link></para></listitem>
<listitem><para><link linkend="kate-mdi-tools-file-selector">The Filesystem
Browser</link></para></listitem>
<listitem><para><link linkend="kate-mdi-tools-sessions">The Sessions panel</link></para></listitem>
<listitem><para><link linkend="kate-mdi-tools-konsole">The Built in Terminal Emulator</link></para></listitem>
</itemizedlist>

<para>And possibly other tool views, for example provided by
plugins.</para>

<para>Tool views can be positioned in any sidebar. To move a tool, right click its
sidebar button and select the destination sidebar from the <guimenu>Move to</guimenu> menu that appears.</para>

<para>A tool view can be marked as <emphasis>persistent</emphasis>. Selecting another
tool view in the same sidebar will not hide any of the persistent tool views.
To make a tool view persistent, right click its sidebar button and select the
"Make persistent" entry from the <guimenu>Behavior</guimenu> menu that appears.</para>
 
<para>Each sidebar can contain more than one tool, so when a tool is persistant
other tools can be shown simultaneously.</para>

</sect2>


</sect1>

<sect1 id="kate-mdi-editor">

<title>The Editor area</title>

<para><indexterm><primary>Editing Area</primary></indexterm>
&kate; is capable of having more than one document open at the
same time, and also of splitting the editing area into any number of
frames, similar to how for example &konqueror; or the popular
<application>emacs</application> text editor works. This way you can
view several documents at the same time, or more instances of the same
document, handy for example if your document contains definitions in
the top that you want to see often for reference. Or you could view a
program source header in one frame, while editing the implementation
file in another.</para>

<para>When a document is available in more than one editor, changes
made in one editor will immediately be reflected in the others as
well. This includes changing the text as well as selecting
text. Search operations or cursor movement is only reflected in the
current editor.</para>

<para>It is currently not possible to have more instances of the same
document open in the sense that one instance will be edited while the
other will not.</para>

<para>When splitting an editor into two frames, it is divided into two
equally sized frames, both displaying the current document of that
editor. The new frame will be at the bottom (in the case of a
horizontal split) or at the right (for a vertical split) and will
get the focus.</para>

<para>Refer to this <link linkend="window-split-vertical">section</link>
for instructions on how to split the current editor.</para>

</sect1>

<sect1 id="kate-mdi-tools-documents-list">
<title>The Document List</title>

<para><indexterm><primary>Documents list</primary></indexterm>
The Documents list displays a list of all documents currently open in
&kate;. Modified files will have a small <guiicon>floppy
disk</guiicon> icon on their left to indicate that state.</para>

<para>If two or more files with the same name (located in different
folders) are open, the name of the second will be appended with
<quote>(2)</quote> and so on. The tool-tip for the file will
display its full name including the path, allowing you to choose the
desired one.</para> <para>To display a document in the currently
active frame, click the document name in the list.</para>

<para>You can sort the list in a few different ways by rightclicking the
list and selecting from the <guisubmenu>Sort By</guisubmenu> menu.

The options are:
<variablelist>

<varlistentry>
<term><guimenuitem>Opening Order</guimenuitem></term>
<listitem><para>Lists the documents in the order of opening.</para></listitem>
</varlistentry>

<varlistentry>
<term><guimenuitem>Document Name</guimenuitem></term>
<listitem><para>Lists the documents alphabetically by their name.</para></listitem>
</varlistentry>

<varlistentry>
<term><guimenuitem>URL</guimenuitem></term>
<listitem><para>Lists the documents alphabetically by URL.</para></listitem>
</varlistentry>

<varlistentry>
<term><guimenuitem>Manual Placement</guimenuitem></term>
<listitem><para>Allows you to specify the order of the documents. You can change the order by dragging files up/down the list.</para></listitem>
</varlistentry>

</variablelist>

</para>

<para>The document list will per default visualize your history by shading the
entries for the most recent documents with a background color. If the document
was edited, an extra color is blended in. The most recent document has the
strongest color, so that you can easily find the documents you are working on.
This feature can be disabled in
<link linkend="config-dialog-documentlist">The Document List Page</link>
of the configuration dialog.</para>

<para>The default location of the Document List in &kate; is to the left of the
editing area.</para>

</sect1>

<sect1 id="kate-mdi-tools-file-selector">
<title>The Filesystem Browser</title>

<para><indexterm><primary>Filesystem Browser</primary></indexterm>
The Filesystem Browser is a folder viewer, allowing you to open
files from a displayed folder in the current frame.</para>

<para>From top down, the Filesystem Browser consist of the following
elements:</para>

<variablelist>
<varlistentry>
<term>A Toolbar</term>
<listitem>
<para>This contains standard navigations tool buttons (refer to this <link linkend="config-dialog-fileselector">section</link>
for instructions on how to show/hide individual toolbar buttons):</para>
<variablelist>
<varlistentry>
<term><guibutton>Home</guibutton></term>
<listitem><para>Pressing it will cause the folder view to <command>cd</command> to your home folder.</para></listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Up</guibutton></term>
<listitem><para>This will cause the folder view to <command>cd</command> to the immediate parent of the currently displayed folder if possible.</para></listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Back</guibutton></term>
<listitem><para>Causes the folder view to <command>cd</command> to the previously displayed folder in the history. This button is disabled if there is no previous item.</para></listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Forward</guibutton></term>
<listitem><para>Causes the folder view to <command>cd</command> to the next folder in the history. This button is disabled if there is no next folder.</para></listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Reload</guibutton></term>
<listitem><para>Causes the folder view to refresh the current view.</para></listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Short View</guibutton></term>
<listitem><para>The folder view will display only the file and folder names, without further details.</para></listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Detailed view</guibutton></term>
<listitem><para>The folder view will display additional file and folder details (for example size, permission, modification date).</para></listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Bookmarks menu</guibutton></term>
<listitem><para>A menu displaying your favourite folders for quick access to them.</para></listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Current document folder</guibutton></term>
<listitem><para>This button will cause the folder view to
<command>cd</command> to the folder of the currently active
document if possible. This button is disabled if the active document
is a new unsaved file or the folder in which it resides can not
be decided.</para></listitem>
</varlistentry>
<varlistentry>
<term><guibutton>New folder...</guibutton></term>
<listitem><para>Pressing this button will create a new subfolder in the current folder.</para></listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Delete</guibutton></term>
<listitem><para>Pressing this button will delete the selected files/folders.</para></listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>

<varlistentry>
<term>A &URL; entry</term>
<listitem>
<para>Here you can type the path of a folder to browse. The &URL;
entry maintains a list of previously typed paths. To choose one use
the arrow button to the right of the entry. Refer to this <link linkend="config-dialog-fileselector-urls">section</link>
to change the number of URLs to remember.</para>
<tip><para>The &URL; entry has folder auto-completion capability. The completion
method can be set by right clicking of the &URL; text and selecting the preferred method 
from the <guimenuitem>Text Completion</guimenuitem> menu.</para></tip>
</listitem>
</varlistentry>

<varlistentry>
<term>A Folder View</term>
<listitem><para>This is a standard &tde; folder view.</para></listitem>
</varlistentry>

<varlistentry>
<term>A Filter Entry</term>
<listitem>
<para>The Filter entry allows you to enter a filter for the files
displayed in the folder view. The filter patterns
must be separated by white space. Example: <userinput>*.cpp *.h
*.moc</userinput></para>
<para>To display all files, enter a single asterisk
<userinput>*</userinput> or no filter at all.</para>
<para>The filter entry saves the last 10 filters entered between
sessions. To use one of them, press the arrow button on the right of the entry
and select the desired filter string. Refer to this <link linkend="config-dialog-fileselector-filters">section</link>
to change the number of filter entries to remember.</para>
</listitem>
</varlistentry>

</variablelist>

<para>The default location of the Filesystem Browser in &kate; is to the left of the
editing area.</para>

</sect1>

<sect1 id="kate-mdi-tools-sessions">
<title>The Sessions panel</title>

<para><indexterm><primary>Sessions Panel</primary></indexterm>
The Sessions panel displays a list of all existing &kate; sessions and
allows to manage them easily.</para>

<para>The Sessions panel consists of a toolbar at the top followed by the list of known sessions.
The active session is marked by an icon on its right.</para>
<para>Please note that the active session and the currently selected session in the list may not be the same.
The difference is important because most of the session commands work on the currently selected session
and not on the active session.</para>

<variablelist>
<varlistentry>
<term>The session toolbar</term>
<listitem>
<para>It contains the following toolbar buttons:</para>
<variablelist>
<varlistentry>
<term><guibutton>New</guibutton></term>
<listitem><para>Creates a new session and switch to it.</para></listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Save</guibutton></term>
<listitem><para>Save the current session.</para></listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Save as</guibutton></term>
<listitem><para>Save the selected session as a new session. A checkbox allows to choose whether to switch
to the new session after saving or not.</para></listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Rename</guibutton></term>
<listitem><para>Rename the selected session.</para></listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Delete</guibutton></term>
<listitem><para>Delete the selected session. If the active session is deleted, a new session will
be automatically created.</para></listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Reload</guibutton></term>
<listitem><para>Reload the active session from the last saved state.</para></listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Activate</guibutton></term>
<listitem><para>Close the active session and switch to the selected one. The same action can be
performed by activating the selected session entry in the list using the mouse of the Enter key.</para></listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Toggle read only</guibutton></term>
<listitem><para>Allows to set whether the selected session is read only or not. A read only session will not change
its properties and can't be saved, although documents can be edited and saved as normal. This option is great for
creating template sessions.</para></listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Move up</guibutton></term>
<listitem><para>Move the selected session one position up in the list.</para></listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Move down</guibutton></term>
<listitem><para>Move the selected session one position down in the list.</para></listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>

<varlistentry>
<term>The session list</term>
<listitem><para>A list of all existing sessions.</para></listitem>
</varlistentry>
</variablelist>

</sect1>

<sect1 id="kate-mdi-tools-konsole">
<title>The Built in Terminal Emulator</title>

<para><indexterm><primary>Terminal emulator</primary></indexterm>
The built in Terminal Emulator is a copy of the &tde; &konsole;
terminal application, for your convenience. It is available from the
<menuchoice><guimenu>Window</guimenu><guimenuitem>Tool Views</guimenuitem><guimenuitem>Show Terminal</guimenuitem></menuchoice> menu item or by pressing the <guimenu>Terminal</guimenu>
button in the sidebar where the Terminal Emulator is located, and will receive focus
when displayed.</para>
<para>Additionally, if the <link
linkend="config-dialog-general-sync-konsole">Sync terminal emulator with
active document</link> option is enabled, if possible it will
<command>cd</command> into the directory of the current document when it is displayed 
or when another document is selected.</para>

<para>The default location of the Terminal Emulator in &kate; is at the bottom,
below the editing area.</para>

<para>You can configure the Terminal Emulator using its &RMB; menu. For more
information, see the &konsole; manual.</para>

</sect1>

<sect1 id="kate-mdi-tools-find-in-files">
<title>The Find in Files Panel</title>

<para><indexterm><primary>The Find in Files Panel</primary></indexterm>
The Find in Files panel in &kate; allows you to search for text in 
multiple files at once.</para>
<para>Results of the search will be displayed in the list at the bottom of the
panel, while search errors will be displayed in a separate dialog.</para>

<para>The panel offers the following options:</para>

<variablelist>

<varlistentry>
<term><guilabel>Pattern</guilabel></term>
<listitem><para>The text to look for. The interpretation of the string
depends on some of the options described below.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Case sensitive</guilabel></term>
<listitem>
<para>If enabled, the search will be case sensitive.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Regular expression</guilabel></term>
<listitem>
<para>If checked, the search string will be interpreted as a regular
expression.</para>
<para>See <link linkend="regular-expressions">Regular
Expressions</link> for more on these.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Template</guilabel> (edit field and dropbox)</term>
<listitem>
<para>Here you can specify an additional context string to be used as a wrapper around
the search pattern. Some default templates are available through the dropbox on the right
of the template edit field.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Files</guilabel></term>
<listitem>
<para>The file name pattern used to select which files to search.
It is possible to specify multiple patterns by separating them with commas
(for example *.h, *.cpp).</para>
</listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Hide errors</guilabel></term>
<listitem>
<para>If checked, the dialog window showing the search errors will
not be displayed at the end of the search.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Folder</guilabel></term>
<listitem>
<para>The folder to search for files.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Recursive</guilabel></term>
<listitem>
<para>If checked, the search will also recurse in the subfolders of the
specified folder.</para>
</listitem>
</varlistentry>

</variablelist>

<para>You can use the <guimenuitem>Find</guimenuitem> button to start the search
and the <guimenuitem>Cancel</guimenuitem> button to interrupt a running search.
</para>
<para>The <guimenuitem>Clear</guimenuitem> button can be used to clear the search
list at the bottom of the panel.</para>

<para>The default location of the Find in Files panel in &kate; is at the bottom,
below the editing area.</para>

</sect1>

<sect1 id="kate-mdi-tools-externaltools">
<title>External Tools</title>

<para>In the <guimenu>Tools</guimenu> menu you will find a submenu labeled
<guisubmenu>External Tools</guisubmenu>. These tools invokes external
applications with data related to the current document, for example its URL,
directory, text or selection.</para>

<para>External tools are user defined, you can add, edit or remove tools using
the <link linkend="config-dialog-externaltools">External Tools configuration panel</link>.
</para>

</sect1>

</chapter>
