<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
    "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY date "December 2009">
  <!ENTITY version "@PACKAGE_VERSION@">
  <!ENTITY application "@PACKAGE_NAME@">
]>
<article id="index" lang="en">

  <!-- Header -->
  <articleinfo>
    <title>Terminal Emulator</title>

    <pubdate>&date;</pubdate>

    <copyright>
      <year>2003</year>
      <year>2004</year>
      <year>2005</year>
      <year>2006</year>
      <year>2007</year>
      <year>2008</year>
      <holder>os-cillation</holder>
    </copyright>

    <copyright>
      <year>2009</year>
      <holder>Xfce Development Team</holder>
    </copyright>

    <legalnotice id="legalnotice">
      <para>
        Permission is granted to copy, distribute and/or modify this document
        under the terms of the GNU Free Documentation License, Version 1.1 or
        any later version published by the Free Software Foundation; with no
        Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
        Texts. The complete license text is available from the <ulink
        type="http" url="http://www.gnu.org/">Free Software Foundation</ulink>.
      </para>
    </legalnotice>

    <authorgroup>
      <author>
        <firstname>Benedikt</firstname>
        <surname>Meurer</surname>
        <affiliation>
          <jobtitle>Software developer</jobtitle>
          <orgname>os-cillation</orgname>
          <orgdiv>System development</orgdiv>
          <address><email>benny@xfce.org</email></address>
        </affiliation>
      </author>

      <author>
        <firstname>Andrew</firstname>
        <surname>Conkling</surname>
        <affiliation>
          <address><email>andrewski@fr.st</email></address>
        </affiliation>
      </author>

      <author>
        <firstname>Nick</firstname>
        <surname>Schermer</surname>
        <affiliation>
          <address><email>nick@xfce.org</email></address>
        </affiliation>
      </author>
    </authorgroup>

    <releaseinfo>
      This manual describes version &version; of &application;.
    </releaseinfo>
  </articleinfo>

  <sect1 id="intro">
    <title>Introduction to &application;</title>

    <sect2>
      <title>What is a terminal emulator?</title>

      <para>
        The UNIX operating system was originally designed as a text-only
        system, controlled by commands entered with a keyboard. This is known
        as a command-line interface (CLI). The X Window System, Xfce, and other
        projects have since added a graphical user interface to UNIX, that's
        what you are actually using now. But the addition of a graphical user
        interface doesn't mean that the CLI is dead. The CLI is still around
        and is frequently the easiest, fastest, and most powerful way to perform
        a certain task. In fact, power users would be lost without the CLI.
      </para>

      <para>
        &application; is what is known as an X terminal emulator, often referred
        to as terminal or shell. It provides an equivalent to the old-fashioned
        text screen on your desktop, but one which can easily share the screen
        with other graphical applications. Windows users may already be familiar
        with the MS-DOS Prompt utility, which has the analogous function of
        offering a DOS command-line under Windows, though one should note that
        the UNIX CLI offer far more power and ease of use than does DOS.
      </para>

      <para>
        &application; emulates the <application>xterm</application> application
        developed by the X Consortium. In turn, the <application>xterm</application>
        application emulates the DEC VT102 terminal and also supports the DEC VT220
        escape sequences. An escape sequence is a series of characters that start
        with the <keycap>Esc</keycap> character. &application; accepts all of the escape
        sequences that the VT102 and VT220 terminals use for functions such as to
        position the cursor and to clear the screen.
      </para>
    </sect2>

    <sect2>
      <title>What makes &application; special?</title>

      <para>&application;'s advanced features include a simple configuration interface, the
      ability to use multiple tabs with terminals within a single window, the possibility
      to have a pseudo-transparent terminal background, and a compact mode (where both the
      menubar and the window decorations are hidden) that helps you to save space on your
      desktop.</para>

      <para>The following key features are available:</para>

      <itemizedlist>
        <listitem>
          <para>
            Multiple tabs per window
          </para>
        </listitem>
        <listitem>
          <para>
            Customizable toolbars, which can be changed using an integrated graphical toolbar editor
          </para>
        </listitem>
        <listitem>
          <para>
            Ability to configure nearly every aspect of &application; in the <guilabel>Preferences</guilabel> dialog plus a
            bunch of so called <emphasis>hidden options</emphasis>
          </para>
        </listitem>
        <listitem>
          <para>
            Good integration with the <ulink url="http://xfce.org/">Xfce desktop environment</ulink> in particular, but also with every other Linux desktop
          </para>
        </listitem>
        <listitem>
          <para>
            Session management support
          </para>
        </listitem>
        <listitem>
          <para>
            Real multihead support (both MultiScreen and Xinerama mode)
          </para>
        </listitem>
        <listitem>
          <para>
            Standards compliance (see the <ulink url="http://freedesktop.org/">freedesktop.org</ulink> website)
          </para>
        </listitem>
        <listitem>
          <para>
            <ulink url="http://dbus.freedesktop.org/">D-BUS</ulink> based terminal service facility to minimize the overall resource usage
          </para>
        </listitem>
        <listitem>
          <para>
            High degree of maintainability by making best use of <ulink url="http://developer.gnome.org/doc/API/2.0/gtk/">GTK+</ulink>
            and <ulink url="http://developer.gnome.org/doc/API/2.0/gobject/">GObject</ulink>.
          </para>
        </listitem>
      </itemizedlist>

      <para>Besides these key features, &application; supports all features you would expect from a modern
      terminal emulator.</para>
    </sect2>
  </sect1>

  <sect1 id="getting-started">
    <title>Getting started</title>

    <sect2>
      <title>Starting &application;</title>

      <para>
        The easiest way to start &application; is to use the applications menu of your desktop;
        for Xfce, point your mouse cursor to the desktop, press the right mouse button
        and choose <menuchoice><guimenu>System</guimenu>
        <guimenuitem>Terminal</guimenuitem></menuchoice>.
      </para>

      <para>
        You can also start &application; from a command line or from the <guilabel>Application
        launcher</guilabel>. Just hit <keycombo><keycap>Alt</keycap>
        <keycap>F2</keycap></keycombo>, type
        <userinput><command>Terminal</command></userinput> and click the button
        <guibutton>Run</guibutton>.
      </para>
    </sect2>

    <sect2>
      <title>When you first start &application;</title>

      <para>
        When you start &application; for the first time, the application opens a terminal window
        with default settings.
      </para>

      <screenshot>
        <mediaobject>
          <imageobject>
            <imagedata fileref="images/terminal-first-time.png" format="PNG"/>
          </imageobject>

          <textobject>
            <phrase>Example of a default terminal window</phrase>
          </textobject>
        </mediaobject>
      </screenshot>

      <para>
        The terminal window displays a command prompt where you can type UNIX
        commands. The command prompt may vary depending on the configuration of
        your shell. The cursor is positioned at the command prompt. When you type a
        UNIX command and press <keycap>Return</keycap>, the computer
        executes the command. By default, &application; will use the login shell of the user
        who starts the application (<filename>/bin/bash</filename> in case of a
        default Linux installation).
      </para>

      <para>
        &application; sets the following environment variables for the command
        running inside the terminal window:
      </para>

      <variablelist>
        <varlistentry>
          <term><varname>TERM</varname></term>
          <listitem>
            <para>Set to <literal>xterm</literal> or <literal>xterm-color</literal>, you
            can configure the value from the preferences dialog.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><varname>COLORTERM</varname></term>
          <listitem>
            <para>Set to <literal>Terminal</literal> by default.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><varname>DISPLAY</varname></term>
          <listitem>
            <para>Set to the X11 display of the terminal by default.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><varname>WINDOWID</varname></term>
          <listitem>
            <para>Set to the X11 window identifier of the terminal by default.</para>
          </listitem>
        </varlistentry>
      </variablelist>
    </sect2>

    <sect2>
      <title>Working with multiple terminals</title>

      <para>
        &application; provides a tab feature that enables you to open several terminals
        within a single window. Each terminal is opened in a separate tab. Click on the
        appropriate tab to display the terminal in the window. Each tabbed terminal in
        a window is separate sub-process, so you can use each terminal for a different
        task.
      </para>

      <screenshot>
        <mediaobject>
          <imageobject>
            <imagedata fileref="images/terminal-multiple-tabs.png" format="PNG"/>
          </imageobject>

          <textobject>
            <phrase>Example of a terminal window with tabs</phrase>
          </textobject>
        </mediaobject>
      </screenshot>

      <para>
        See <xref linkend="usage"/> for information about how to open a new tabbed
        terminal.
      </para>

      <para>
        You can close a terminal tab by clicking on the close button in the terminal
        tab header or by choosing <menuchoice><guimenu>File</guimenu><guimenuitem>Close
        Tab</guimenuitem></menuchoice> from the menubar.
      </para>
    </sect2>

  </sect1>

  <sect1 id="usage">
    <title>Usage</title>

    <sect2>
      <title>To open and close terminals</title>

      <variablelist>
        <varlistentry>
          <term>To open a new terminal window:</term>
          <listitem>
            <para>Choose <menuchoice><guimenu>File</guimenu><guimenuitem>Open
            Terminal</guimenuitem></menuchoice> (or right-click the terminal window and choose <menuchoice><guimenuitem>Open Terminal</guimenuitem></menuchoice>).</para>
            <para>The new terminal inherits the working directory from its parent
            terminal.</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>To close a terminal window:</term>
          <listitem>
            <para>Choose <menuchoice><guimenu>File</guimenu><guimenuitem>Close
            Window</guimenuitem></menuchoice>.</para>
            <para>This action closes the terminal and terminates any subprocesses that
            you opened from the terminal. If you close the last terminal window, the
            &application; application exits.</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>To add a new tabbed terminal to a window:</term>
          <listitem>
            <para>Choose <menuchoice><guimenu>File</guimenu><guimenuitem>Open
            Tab</guimenuitem></menuchoice> (or right-click the terminal window and choose <menuchoice><guimenuitem>Open Tab</guimenuitem></menuchoice>).</para>
            <para>The new terminal inherits the working directory from the
            previously active terminal.</para>
          </listitem>
        </varlistentry>
      </variablelist>
    </sect2>

    <sect2>
      <title>To modify a terminal window</title>

      <variablelist>
        <varlistentry>
          <term>To hide the menubar:</term>
          <listitem>
            <para>Choose <menuchoice><guimenu>View</guimenu><guimenuitem>Show Menubar</guimenuitem></menuchoice> (or right-click the terminal window and choose <menuchoice><guimenuitem>Show Menubar</guimenuitem></menuchoice>).</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term>To show a hidden menubar:</term>
          <listitem>
            <para>Right-click the terminal window and choose <menuchoice><guimenuitem>Show Menubar</guimenuitem></menuchoice>
            from the popup menu.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term>To show or hide the toolbars:</term>
          <listitem>
            <para>Choose <menuchoice><guimenu>View</guimenu><guimenuitem>Show Toolbars</guimenuitem></menuchoice>.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term>To customize the toolbars:</term>
          <listitem>
            <para>Be sure to show the toolbars first; then choose <menuchoice><guimenu>Edit</guimenu><guimenuitem>Toolbars...</guimenuitem></menuchoice>.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term>To show or hide the window decorations:</term>
          <listitem>
            <para>Choose <menuchoice><guimenu>View</guimenu><guimenuitem>Show Window Borders</guimenuitem></menuchoice>.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term>To put a terminal window into fullscreen</term>
          <listitem>
            <para>Choose <menuchoice><guimenu>View</guimenu><guimenuitem>Fullscreen</guimenuitem></menuchoice> from
            the menubar (or right-click the terminal window and choose <menuchoice><guimenuitem>Fullscreen</guimenuitem></menuchoice>).</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term>To change the appearance of the terminal window:</term>
          <listitem>
            <para>See <xref linkend="preferences"/> for information about the options that you choose in
            the <guilabel>Terminal Preferences</guilabel> dialog to change the appearance and behaviour
            of the terminal windows. For example, you can change the background color or the location of
            the scrollbar.</para>
          </listitem>
        </varlistentry>
      </variablelist>
    </sect2>

    <sect2 id="usage_to-work-with-contents-of-terminal-windows">
      <title>To work with the contents of terminal windows</title>

      <variablelist>
        <varlistentry>
          <term>To scroll through previous commands and output:</term>
          <listitem>
            <para>
              Perform one of the following actions:
            </para>

            <itemizedlist>
              <listitem>
                <para>
                  Use the scrollbar, which is usually displayed on the right side
                  of each terminal window.
                </para>
              </listitem>
              <listitem>
                <para>Press the <keycombo><keycap>Shift</keycap><keycap>Page Up</keycap></keycombo>,
                <keycombo><keycap>Shift</keycap><keycap>Page Down</keycap></keycombo>,
                <keycombo><keycap>Shift</keycap><keycap>Up</keycap></keycombo>,
                <keycombo><keycap>Shift</keycap><keycap>Down</keycap></keycombo>,
                <keycombo><keycap>Shift</keycap><keycap>Home</keycap></keycombo>, or
                <keycombo><keycap>Shift</keycap><keycap>End</keycap></keycombo> keys.</para>
              </listitem>
              <listitem>
                <para>
                  Use the middle wheel button on your mouse if applicable
                </para>
              </listitem>
            </itemizedlist>
            <para>
              &application; mimics the FreeBSD console when <keycap>Scroll Lock</keycap> is pressed. When scroll lock is
              active, ordinary input and output from the shell is suspended and you can scroll through
              the history with <keycombo><keycap>Shift</keycap><keycap>Page Up</keycap></keycombo> and
              <keycombo><keycap>Shift</keycap><keycap>Page Down</keycap></keycombo> or using the optional
              scrollbar. Press <keycombo><keycap>Ctrl</keycap><keycap>S</keycap></keycombo> to activate
              the scroll lock and <keycombo><keycap>Ctrl</keycap><keycap>Q</keycap></keycombo> to disable
              it afterwards.
            </para>

            <para>
              The number of lines that you can scroll back in the terminal window is
              determined by the <guilabel>Scrollback</guilabel> setting in the <guilabel>General</guilabel>
              section of the <guilabel>Terminal Preferences</guilabel> dialog.
            </para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term>To select and copy text:</term>
          <listitem>
            <para>You can select text in any of the following ways:</para>
            <itemizedlist>
              <listitem>
                <para>To select a character at a time, click on the first character that you want to
                select and drag the mouse to the last character that you want to select.</para>
              </listitem>
              <listitem>
                <para>To select a word at a time, double-click on the first word that you want to
                select and drag the mouse to the last word that you want to select.</para>
              </listitem>
              <listitem>
                <para>To select a line at a time, triple-click on the first line that you want to
                select and drag the mouse to the last line that you want to select.</para>
              </listitem>
            </itemizedlist>
            <para>These actions select all text between the first and last items. For all text selections,
            &application; copies the selected text into the clipboard when you release the mouse button. To
            explicitly copy the selected text, choose <menuchoice><guimenu>Edit</guimenu>
            <guimenuitem>Copy</guimenuitem></menuchoice>.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term>To paste text into a terminal:</term>
          <listitem>
            <para>If you previously copied text to the clipboard, you can paste the text into a
            terminal by performing one of the following actions:</para>
            <itemizedlist>
              <listitem>
                <para>To paste text that you copied by selection only, middle-click at the
                command prompt. If you do not have a middle mouse button, refer to the X
                Server documentation for information about how to emulate the middle mouse button.
                This is equivalent to using the <menuchoice><guimenuitem>Paste Selection</guimenuitem></menuchoice>
                item from <menuchoice><guimenu>Edit</guimenu></menuchoice> menu.</para>
              </listitem>
              <listitem>
                <para>To paste text that you explicitly copied, choose <menuchoice><guimenu>Edit</guimenu>
                <guimenuitem>Paste</guimenuitem></menuchoice>.</para>
              </listitem>
            </itemizedlist>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term>To drag a file name into a terminal window:</term>
          <listitem>
            <para>You can drag a file name to a terminal from another application such as a file manager or
            a web browser. The terminal displays the path and the full name of the URI.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term>To access a hyperlink:</term>
          <listitem>
            <para>
              To access a Uniform Resource Locator (URL) that is displayed in a terminal window,
              perform the following steps:
            </para>

            <orderedlist>
              <listitem>
                <para>Move the mouse over the URL until the URL is underlined.</para>
              </listitem>
              <listitem>
                <para>Right-click on the URL to open the context menu.</para>
              </listitem>
              <listitem>
                <para>
                  Choose <guimenuitem>Open Link</guimenuitem> from the context menu
                  to start your preferred Web Browser and display the file located
                  at the URL.
                </para>
              </listitem>
            </orderedlist>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>To compose an email:</term>
          <listitem>
            <para>
              To compose an email to an address that is displayed in a terminal window,
              perform the following steps:
            </para>

            <orderedlist>
              <listitem>
                <para>Move the mouse over the email address until the email address is underlined.</para>
              </listitem>
              <listitem>
                <para>Right-click on the email address to open the context menu.</para>
              </listitem>
              <listitem>
                <para>
                  Choose <guimenuitem>Compose Email</guimenuitem> from the context menu
                  to compose an email in your preferred Mail Reader.
                </para>
              </listitem>
            </orderedlist>
          </listitem>
        </varlistentry>
      </variablelist>
    </sect2>

    <sect2 id="set-title">
      <title>To change the terminal title</title>

      <screenshot>
        <mediaobject>
          <imageobject>
            <imagedata fileref="images/terminal-set-title.png" format="PNG"/>
          </imageobject>

          <textobject>
            <phrase>Set title dialog</phrase>
          </textobject>
        </mediaobject>
      </screenshot>

      <para>To change the title of the currently displayed terminal, perform the following
      three steps:</para>

      <orderedlist>
        <listitem>
          <para>Choose <menuchoice><guimenu>Terminal</guimenu>
          <guimenuitem>Set Title...</guimenuitem></menuchoice> or double-click the the terminal
          tab header.</para>
        </listitem>
        <listitem>
          <para>Type the new title in the <guilabel>Title</guilabel> text box. &application; applies
          the change immediately.</para>
        </listitem>
        <listitem>
          <para>Click the button <guilabel>Close</guilabel> or press the <keycap>Return</keycap>
          key to close the <guilabel>Set Title</guilabel> dialog.</para>
        </listitem>
      </orderedlist>

      <para>To reset the terminal title to its default behavior, perform the same three steps
      as described above, but enter an empty title.</para>

      <para>&application; will substitute these tokens:</para>

      <orderedlist>
        <listitem>
          <para>%d : name of the current directory (short).</para>
        </listitem>
        <listitem>
          <para>%D : current directory (long).</para>
        </listitem>
        <listitem>
          <para>%w : window title set by shell.</para>
        </listitem>
        <listitem>
          <para>%# : the session id.</para>
        </listitem>
      </orderedlist>
    </sect2>

    <sect2>
      <title>To recover your terminal</title>

      <para>This section provides some advice if you have problems with terminals.</para>

      <variablelist>
        <varlistentry>
          <term>To reset the state of the terminal:</term>
          <listitem>
            <para>Choose <menuchoice><guimenu>Terminal</guimenu><guimenuitem>Reset</guimenuitem></menuchoice>.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term>To reset the terminal and clear the terminal screen:</term>
          <listitem>
            <para>Choose <menuchoice><guimenu>Terminal</guimenu><guimenuitem>Reset and Clear</guimenuitem></menuchoice>.</para>
          </listitem>
        </varlistentry>
      </variablelist>

      <para>
        You can also use the shell commands <userinput><command>reset</command></userinput> and
        <userinput><command>clear</command></userinput> to recover your terminal.
      </para>
    </sect2>

    <sect2 id="customize-toolbars">
      <title>To customize the toolbars</title>

      <para>As already mentioned, &application; includes support for customizable toolbars. The toolbars
      are disabled by default, you will have to explicitly enable it. Choose
      <menuchoice><guimenu>View</guimenu><guimenuitem>Show Toolbars</guimenuitem></menuchoice> from
      the menubar to display the toolbars in the current window. If you want to permanently use
      the toolbars, see <xref linkend="preferences-appearance"/>.</para>

      <para>Once the toolbars are shown, choose <menuchoice><guimenu>Edit</guimenu>
      <guimenuitem>Toolbars...</guimenuitem></menuchoice> from the menubar or right-click one of
      the toolbars and choose <menuchoice><guimenuitem>Customize Toolbar...</guimenuitem></menuchoice> from
      the context menu. This opens the <guilabel>Toolbar Editor</guilabel> window, which allows you
      to customize the toolbars in the current terminal window.</para>

      <screenshot>
        <mediaobject>
          <imageobject>
            <imagedata fileref="images/terminal-toolbars.png" format="PNG"/>
          </imageobject>

          <textobject>
            <phrase>Customizing the toolbars</phrase>
          </textobject>
        </mediaobject>
      </screenshot>

      <para>Just drag an item from the <guilabel>Toolbar Editor</guilabel> window and drop
      it on a toolbar to add that item to the specific toolbar or drag an item from a toolbar
      to the <guilabel>Toolbar Editor</guilabel> to remove it from the toolbar. You can add
      additional toolbars by clicking the button <guibutton>Add a new toolbar</guibutton>
      and remove toolbars by right-clicking the toolbar and selecting
      <menuchoice><guimenuitem>Remove Toolbar</guimenuitem></menuchoice> from the context
      menu. You can also choose a different style for a toolbar from the context menu.</para>
    </sect2>

    <sect2 id="luit">
      <title>To switch between different encodings</title>

      <para>&application; itself does not (yet) include builtin support for switching encodings
      on the fly in a terminal session. But since &application; implements an UTF-8 mode, you
      can use the <ulink url="http://www.pps.jussieu.fr/~jch/software/luit/">Luit
      application</ulink> to switch between different character encodings within a terminal
      session.</para>
    </sect2>

  </sect1>

  <sect1 id="preferences">
    <title>Preferences</title>

    <screenshot>
      <mediaobject>
        <imageobject>
          <imagedata fileref="images/terminal-edit-preferences.png" format="PNG"/>
        </imageobject>

        <textobject>
          <phrase>Preferences</phrase>
        </textobject>
      </mediaobject>
    </screenshot>

    <para>To configure &application;, choose <menuchoice><guimenu>Edit</guimenu><guimenuitem>Preferences...</guimenuitem>
    </menuchoice> or right-click the terminal area of the window and choose
    <menuchoice><guimenuitem>Preferences...</guimenuitem></menuchoice>. This will bring up the <guilabel>Terminal
    Preferences</guilabel> dialog, which allows you to adjust &application;'s behaviour to your needs.</para>

    <sect2 id="preferences-general">
      <title>General</title>

      <screenshot>
        <mediaobject>
          <imageobject>
            <imagedata fileref="images/terminal-preferences-general.png" format="PNG"/>
          </imageobject>

          <textobject>
            <phrase>General preferences</phrase>
          </textobject>
        </mediaobject>
      </screenshot>

      <variablelist>
        <varlistentry>
          <term><guilabel>Initial title</guilabel></term>
          <listitem>
            <para>Use this text box to specify the initial title of terminals.
            New terminals will have the initial title.</para>
            <para>The initial title can also substitute some tokens, see
            <xref linkend="set-title"/> for more information.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><guilabel>Dynamically-set title</guilabel></term>
          <listitem>
            <para>Use this drop-down list to specify how to handle dynamically-set
            titles, that is, terminal titles set by the commands that run in the
            terminal.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><guilabel>Run command as login shell</guilabel></term>
          <listitem>
            <para>Select this option to force &application; to run your shell as a
            login shell when you open new terminals. See the documentation of your
            shell for details about differences between running it as interactive
            shell and running it as login shell.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><guilabel>Update utmp/wtmp records when command is launched</guilabel></term>
          <listitem>
            <para>Select this option to insert a new entry in the utmp and wtmp records
            when a new terminal is opened.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><guilabel>Scroll on output</guilabel></term>
          <listitem>
            <para>Select this option to enable you to scroll the output on the terminal
            while the terminal continues to display more output from a command.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><guilabel>Scroll on keystroke</guilabel></term>
          <listitem>
            <para>Select this option to enable you to press any key on the keyboard to
            scroll down the terminal window to the command prompt. This action only
            applies if you scrolled up the terminal window and you want to return
            to the command prompt.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><guilabel>Scrollbar is</guilabel></term>
          <listitem>
            <para>Use this drop-down list to specify the position of the scrollbar in
            terminal windows.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><guilabel>Scrollback</guilabel></term>
          <listitem>
            <para>Use this spin box to specify the number of lines that you can scroll
            back using the scrollbar or the mouse wheel. For example, if you specify
            1000 you can scroll back the last 1000 lines displayed in the terminal.</para>
          </listitem>
        </varlistentry>
      </variablelist>
    </sect2>

    <sect2 id="preferences-appearance">
      <title>Appearance</title>

      <screenshot>
        <mediaobject>
          <imageobject>
            <imagedata fileref="images/terminal-preferences-appearance.png" format="PNG"/>
          </imageobject>

          <textobject>
            <phrase>Appearance preferences</phrase>
          </textobject>
        </mediaobject>
      </screenshot>

      <variablelist>
        <varlistentry>
          <term><guilabel>Font</guilabel></term>
          <listitem>
            <para>
              Click on the button to select the font type and font size you want to
              use for the terminal.
            </para>

            <para>
              Use the option <guilabel>Enable anti-aliasing for the terminal font</guilabel>
              to control whether you want &application; to use anti-aliasing when rendering text in
              the terminals. Disabling this option can impressively speed up terminal rendering
              performance and reduce the overall system load on slow systems.
            </para>

            <para>
              The option <guilabel>Allow bold text</guilabel> controls whether Terminal
              allows the application running inside to use bold text or not. If disabled,
              all text will appear in the selected font, else certain text will appear in
              bold face.
            </para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><guilabel>Background</guilabel></term>
          <listitem>
            <para>Select a background for the terminal window. The options are as follows:</para>

            <variablelist>
              <varlistentry>
                <term><guilabel>None (use solid color)</guilabel></term>
                <listitem>
                  <para>Select this option to use the background color that is specified
                  in the <guilabel>Colors</guilabel> section as the background color for
                  the terminal.</para>
                </listitem>
              </varlistentry>
              <varlistentry>
                <term><guilabel>Background image</guilabel></term>
                <listitem>
                  <para>Select this option to use an image file as the background for the
                  terminal. Use the <guilabel>Image file</guilabel> entry box to
                  specify the location and name of the image file. Alternatively, click on
                  the button besides the entry box to search for and select the image
                  file.</para>
                  <para>Use the <guilabel>Style</guilabel> option to control the appearance
                  of the background image. &application; supports tiling, centering, scaling and
                  stretching background images.</para>
                </listitem>
              </varlistentry>
              <varlistentry>
                <term><guilabel>Transparent background</guilabel></term>
                <listitem>
                  <para>Select this option to use a transparent background for the terminal.</para>
                </listitem>
              </varlistentry>
            </variablelist>

            <para>If you have selected <guilabel>Background image</guilabel> or <guilabel>Transparent
            background</guilabel>, you can use the slider <guilabel>Shade transparent or image
            background</guilabel> to shade or dim the background of the terminal.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><guilabel>Display menubar in new windows</guilabel></term>
          <listitem>
            <para>Select this option to show the menubar on new terminal windows by default.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><guilabel>Display toolbars in new windows</guilabel></term>
          <listitem>
            <para>Select this option to show toolbars on new terminal windows by default.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><guilabel>Display borders around new windows</guilabel></term>
          <listitem>
            <para>Select this option to show window decorations on new terminal windows by default.</para>
          </listitem>
        </varlistentry>
      </variablelist>
    </sect2>

    <sect2>
      <title>Colors</title>

      <screenshot>
        <mediaobject>
          <imageobject>
            <imagedata fileref="images/terminal-preferences-colors.png" format="PNG"/>
          </imageobject>

          <textobject>
            <phrase>Color preferences</phrase>
          </textobject>
        </mediaobject>
      </screenshot>

      <variablelist>
        <varlistentry>
          <term><guilabel>Foreground and Background</guilabel></term>
          <listitem>
            <para>The two buttons labelled with <guilabel>Text and cursor color</guilabel> allow
            to select the color &application; uses to draw normal text and the color for the text
            cursor. An application running inside the terminal can also request a different color
            chosen from the palette below to draw text.</para>

            <para>Click on the <guilabel>Background color</guilabel> button to choose the
            default background for terminal windows. This color is also used in background
            tinting when <guilabel>Transparent background</guilabel> or <guilabel>Background
            image</guilabel> is selected.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><guilabel>Text Selection</guilabel></term>
          <listitem>
            <para>Select the background color to use when selecting text in a terminal window.
            You can either specify a custom color or stick to the default color.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><guilabel>Palette</guilabel></term>
          <listitem>
            <para>The terminal provides the application running inside with a palette of
            16 colors. You can customize these colors using the 16 color buttons.</para>
          </listitem>
        </varlistentry>
      </variablelist>
    </sect2>

    <sect2>
      <title>Shortcuts</title>

      <screenshot>
        <mediaobject>
          <imageobject>
            <imagedata fileref="images/terminal-preferences-shortcuts.png" format="PNG"/>
          </imageobject>

          <textobject>
            <phrase>Shortcut preferences</phrase>
          </textobject>
        </mediaobject>
      </screenshot>

      <variablelist>
        <varlistentry>
          <term><guilabel>Shortcut keys</guilabel></term>
          <listitem>
            <para>The <guilabel>Shortcut keys</guilabel> section of the dialog lists the
            shortcut keys that are defined for each menu item. The shortcut keys enable
            you to use the keyboard to choose a menu item rather than use the mouse. A
            shortcut key can be any non-modifier key or any combination of a non-modifier
            key and several modifier keys, where modifier keys are <keycap>Alt</keycap>,
            <keycap>Ctrl</keycap> and the like.</para>

            <screenshot>
              <mediaobject>
                <imageobject>
                  <imagedata fileref="images/terminal-compose-shortcut.png" format="PNG"/>
                </imageobject>

                <textobject>
                  <phrase>Compose shortcut</phrase>
                </textobject>
              </mediaobject>
            </screenshot>

            <para>To change a shortcut key for a menu item, double click the item in the list
            and press the key combination you want to set. To disable a shortcut for a specific
            menu item, double click the menu item in the list and click the button
            <guilabel>Clear</guilabel>.</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><guilabel>Disable all menu access keys (such as Alt+f)</guilabel></term>
          <listitem>
            <para>Select this option to disable the access keys that are defined to
            enable you to use keyboard instead of the mouse to select a menu item.
            Each access key is identified by an underlined letter on a menu or dialog
            option. In some cases, you must press the <keycap>Alt</keycap> key in
            combination with the access key to perform the action.</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><guilabel>Disable menu shortcut key (F10 by default)</guilabel></term>
          <listitem>
            <para>Select this option to disable the shortcut key that is defined to
            enable you to access the &application; menus. The default shortcut key to access
            the menus is <keycap>F10</keycap>.</para>
          </listitem>
        </varlistentry>
      </variablelist>
    </sect2>

    <sect2>
      <title>Advanced</title>

      <screenshot>
        <mediaobject>
          <imageobject>
            <imagedata fileref="images/terminal-preferences-advanced.png" format="PNG"/>
          </imageobject>

          <textobject>
            <phrase>Advanced preferences</phrase>
          </textobject>
        </mediaobject>
      </screenshot>

      <variablelist>
        <varlistentry>
          <term><guilabel>Backspace key generates</guilabel></term>
          <listitem>
            <para>Use the drop-down list to select the function that you want the
            <keycap>Backspace</keycap> key to perform.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><guilabel>Delete key generates</guilabel></term>
          <listitem>
            <para>Use the drop-down list to select the function that you want the
            <keycap>Delete</keycap> key to perform.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><guilabel>$TERM setting</guilabel></term>
          <listitem>
            <para>
              This specifies the value the <varname>$TERM</varname> environment variable is set to, when
              a new terminal tab or terminal window is opened. The default should be ok for most
              systems. If you have problems with colors in some applications or if you think that a
              certain application behaves oddly, try <userinput>xterm-color</userinput> here. If you have
              problems with ncurses 5.6 or later you could also try <userinput>xfce</userinput>.
            </para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><guilabel>Reset compatibility options to defaults</guilabel></term>
          <listitem>
            <para>Click this button to reset the options on the <guilabel>Compatibility</guilabel>
            tabbed section to its defaults settings.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><guilabel>Double click</guilabel></term>
          <listitem>
            <para>Use this text box to specify characters or groups of characters that &application;
            considers to be words when you select text by word.</para>
          </listitem>
        </varlistentry>
      </variablelist>
    </sect2>
  </sect1>

  <sect1 id="command-line">
    <title>Command line options</title>
    <xi:include href="Terminal-options.xml"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                xpointer="xpointer(//sect1[@id='options']/title/following-sibling::*)"/>
  </sect1>

  <sect1 id="advanced">
    <title>Advanced topics</title>
    <sect2 id="files-and-env-vars">
      <title>Files and Environment Variables</title>

      <xi:include href="Terminal-options.xml"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                xpointer="xpointer(//sect1[@id='environment']/title/following-sibling::*)"/>

      <xi:include href="Terminal-options.xml"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                xpointer="xpointer(//sect1[@id='files']/title/following-sibling::*)"/>
    </sect2>

    <sect2 id="hidden-options">
      <title>Hidden options</title>

      <para>
        &application; offers a few hidden options to allow powerusers to control various advanced settings and
        to reduce the number of options in the user interface. To set any of these options, you will have
        to open the file <filename>${XDG_CONFIG_HOME}/Terminal/terminalrc</filename> in your favorite
        text editor and edit the section <varname>[Configuration]</varname>; simply create the file if
        it does not already exist. For example, your <filename>terminalrc</filename> could look like
      </para>

      <programlisting>
[Configuration]
MiscAlwaysShowTabs=TRUE
MiscBell=TRUE
MiscConfirmClose=FALSE
MiscCursorBlinks=TRUE
MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
MiscCycleTabs=FALSE
MiscInheritGeometry=TRUE
MiscMouseAutohide=FALSE
MiscTabCloseButtons=TRUE
MiscTabCloseMiddleClick=TRUE
MiscTabPosition=GTK_POS_TOP
MiscHighlightUrls=TRUE</programlisting>

      <para>
        plus all the options that are controlled through the preferences dialog.
      </para>

      <variablelist>
        <varlistentry>
          <term><varname>MiscAlwaysShowTabs</varname></term>
          <listitem>
            <para>
              If <literal>TRUE</literal> the tab headers will always be displayed even if only a single
              terminal tab is open. This option is useful if you do not want the terminal window to
              resize when you open a second tab. It is disabled by default.
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>MiscBell</varname></term>
          <listitem>
            <para>
              Enables (<varname>MiscBell=TRUE</varname>) or disables (<varname>MiscBell=FALSE</varname>)
              the audible terminal bell. It is disabled by default.
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>MiscConfirmClose</varname></term>
          <listitem>
            <para>
              Controls whether &application; popups a confirmation dialog when the user tries to close
              a terminal window with multiple tabs in it. Can be either <literal>TRUE</literal>
              (the default) or <literal>FALSE</literal>.
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>MiscCursorBlinks</varname></term>
          <listitem>
            <para>
              Enable this option to display a cursor that blinks. Can be either <literal>TRUE</literal>
              or <literal>FALSE</literal> (the default).
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>MiscCursorShape</varname></term>
          <listitem>
            <para>
              Specifies the shape of the cursor in the terminal. This can be either
              <literal>TERMINAL_CURSOR_SHAPE_BLOCK</literal> (the default),
              <literal>TERMINAL_CURSOR_SHAPE_IBEAM</literal> or
              <literal>TERMINAL_CURSOR_SHAPE_UNDERLINE</literal>. This option is
              only available when you compile against VTE 0.19.1 or newer.
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>MiscCycleTabs</varname></term>
          <listitem>
            <para>
              This option controls whether you can circulate through terminal tabs. That is, whether
              you are able to go from the last tab to the first tab using the <guimenuitem>Next
              Tab</guimenuitem> button from the <guimenu>Go</guimenu> menu (or the associated keyboard
              shortcut), and from the first tab to the last tab using the <guimenuitem>Previous
              Tab</guimenuitem> button from the <guimenu>Go</guimenu> menu. The option can be either
              <literal>TRUE</literal> (the default) or <literal>FALSE</literal>.
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>MiscDefaultGeometry</varname></term>
          <listitem>
            <para>
              The default geometry for new Terminal windows if no <xref linkend="options-window-geometry"/>
              option is specified on the command line (defaults to <literal>80x24</literal>).
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>MiscInheritGeometry</varname></term>
          <listitem>
            <para>
              This setting controls whether new windows will inherit the geometry (width
              and height of the active tab) from its parent window (the window from which
              the new window was opened). Can be either <literal>TRUE</literal> or
              <literal>FALSE</literal> (the default).
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>MiscMouseAutohide</varname></term>
          <listitem>
            <para>
              This setting controls whether &application; will hide the mouse cursor
              while you are typing in a terminal window. Can be either
              <literal>TRUE</literal> or <literal>FALSE</literal> (the default).
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>MiscTabCloseButtons</varname></term>
          <listitem>
            <para>
              This setting controls whether &application; provides a close button with the
              terminal tab title. Can be either <literal>TRUE</literal> (the default) or
              <literal>FALSE</literal>.
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>MiscTabCloseMiddleClick</varname></term>
          <listitem>
            <para>
              This setting controls whether &application; will close a terminal tab when
              the user middle-clicks the tab title. Can be either <literal>TRUE</literal>
              (the default) or <literal>FALSE</literal>.
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>MiscTabPosition</varname></term>
          <listitem>
            <para>
              Specifies the position where the tab headers should be displayed. This can
              be either <literal>GTK_POS_TOP</literal> (the default), <literal>GTK_POS_LEFT</literal>,
              <literal>GTK_POS_BOTTOM</literal> or <literal>GTK_POS_RIGHT</literal>. If you
              specify <literal>GTK_POS_LEFT</literal> or <literal>GTK_POS_RIGHT</literal>
              here, the tab header texts will be displayed vertically instead of horizontally.
              It is highly recommended to disable <varname>MiscTabCloseButtons</varname> for
              <literal>GTK_POS_LEFT</literal> and <literal>GTK_POS_RIGHT</literal>.
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>MiscHighlightUrls</varname></term>
          <listitem>
            <para>
              This setting controls whether URLs - both hyperlinks and email addresses - will
              be highlighted in the text displayed in a terminal window. If you change this
              option to <literal>FALSE</literal>, URLs won't be highlighted anymore and you
              will no longer be able to middle-click the URL to open it in the preferred
              application.
            </para>
          </listitem>
        </varlistentry>
      </variablelist>
    </sect2>
  </sect1>

  <sect1 id="faq">
    <title>Frequently asked questions</title>

    <para>The intent of this section is to collect the quite numerous frequently asked
    question that relate to working with &application;, or even terminal emulators in general. If
    you know of a question that's missing from this page, please <ulink url="http://bugzilla.xfce.org/enter_bug.cgi?product=Terminal&amp;format=guided">file a request</ulink>.</para>

    <sect2>
      <title>&application; complains about <literal>Unable to start terminal server: Unable to connect
        to D-BUS message daemon</literal>, what can I do?</title>

      <para>&application; tries to reduce the number of running instances by establishing a D-BUS service
      that handles all terminal windows. The message above tells you that &application; wasn't able to
      connect to the D-BUS session message daemon and register a service. This is just a warning,
      you can use the terminal without the D-BUS service feature as well.</para>

      <para>To start the D-BUS session message daemon when you login to your X session, either
      modify your xinitrc file and change the line <literal>xfce4-session</literal> to
      <literal>dbus-launch xfce4-session</literal> or use <literal>dbus-launch startxfce4</literal>
      to start Xfce instead. If you don't use Xfce, please look at the documentation of your
      desktop environment on how to enable the D-BUS session daemon.</para>
    </sect2>

    <sect2>
      <title><keycap>Home</keycap> and <keycap>End</keycap> keys don't work in &application;, what's wrong?</title>

      <para>This problem is actually a bug in <ulink url="http://developer.gnome.org/arch/gnome/widgets/vte.html">vte</ulink>,
      the terminal widget used by &application;. A patch for vte that fixes the problem is available <ulink url="http://lunar-linux.org/lunar/patches/vte-0.11.11-termcap.patch">here</ulink> (this patch was created
      with version 0.11.11 of vte, it may not work with other versions). Thanks to Auke Kok for this patch.</para>
    </sect2>
  </sect1>

  <sect1 id="support">
    <title>Support</title>

    <para>To report a bug or to make a suggestion regarding this application or this
    manual, use the bug tracking system at <ulink url="http://bugzilla.xfce.org/enter_bug.cgi?product=Terminal&amp;format=guided">http://bugzilla.xfce.org/</ulink>.
    Remember that useful bug reports are ones that get bugs fixed, so a useful bug report
    has two qualities:</para>

    <itemizedlist>
      <listitem>
        <para><emphasis role="bold">Reproducible.</emphasis> If the developer cannot see the bug himself
        to prove that it exists, he will most probably not be able to fix it at all. Every detail you
        can provide helps.</para>
      </listitem>
      <listitem>
        <para><emphasis role="bold">Specific.</emphasis> The quicker the developer can isolate the problem
        to a specific area, the more likely he will expediently fix it.</para>
      </listitem>
    </itemizedlist>

    <para>In case you want to request a new feature, please make clear why you consider it a worth
    addition for the application. It is more likely that a new feature gets added if you provide
    good arguments for the feature. It will increase the chance of addition even more if you
    provide a patch that implements the requested feature, but make sure that you read the file
    <ulink url="http://git.xfce.org/apps/terminal/tree/HACKING">HACKING</ulink>
    - especially the section labeled <emphasis>Coding Style</emphasis> - before you start hacking up the source.</para>

    <para>Else, if you have questions about the use or installation of this software, please ask on the
    <ulink url="http://www.xfce.org/community/lists">Xfce users mailing list </ulink>
    or point your IRC client to <emphasis role="bold">irc.freenode.net</emphasis>,
    join the channel <emphasis role="bold">#xfce</emphasis> and ask for help.</para>
  </sect1>

  <sect1 id="copyright">
    <title>About &application;</title>

    <para>
      &application; was written by Benedikt Meurer (<email>benny@xfce.org</email>). Visit the
      <ulink url="http://www.os-cillation.com/" type="http">os-cillation website</ulink>
      for more information.
    </para>

    <para>
      This documentation was written by Benedikt Meurer (<email>benny@xfce.org</email>) and
      Andrew Conkling (<email>andrewski@fr.st</email>). The latest version of this document
      is always available from the <ulink type="http"
      url="http://terminal.os-cillation.com/">Terminal website</ulink>.
    </para>

    <para>
      This software is distributed under the terms of the GNU General Public License
      as published by the Free Software Foundation; either version 2 of the License, or
      (at your option) any later version.
    </para>

    <para>
      You should have received a copy of the GNU General Public License
      along with this program; if not, write to the Free Software
      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
      USA.
    </para>
  </sect1>

</article>
<!--
  vim:set ts=2 sw=2 et ai:
-->
