<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "customization/dtd/kdex.dtd"[
  <!ENTITY smb4k "<application>Smb4K</application>">
    <!ENTITY kappname "&smb4k;">
    <!ENTITY % addindex "IGNORE"><!-- do *not* replace kappname -->
  <!ENTITY % English "INCLUDE"><!-- change language only here -->
]>

<book id="smb4k" lang="&language;" >

<bookinfo>
<title>The &smb4k; Handbook</title>
<authorgroup>
<author>
<firstname>Alexander</firstname>
<othername></othername>
<surname>Reinholdt</surname>
<affiliation>
<address>
<email>alexander.reinholdt AT kdemail.net</email>
</address>
</affiliation>
</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<copyright>
<year>2005-2014</year>
<holder>Alexander Reinholdt</holder>
</copyright>
<legalnotice>&underFDL;</legalnotice>
<date>2014-03-16</date>
<releaseinfo>5.0.0</releaseinfo>
<abstract>
<para>&smb4k; is an advanced network neighborhood browser and a front end to the programs of the Samba software suite.</para>
</abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>Smb4K</keyword>
<keyword>Samba</keyword>
</keywordset>
</bookinfo>

<!-- Introduction -->

<chapter id="introduction" >
<title>Introduction</title>

<para>This handbook describes &smb4k; 1.1.x and to some extent earlier versions.</para>

<para>&smb4k; is an advanced network neighborhood browser and a front end to the programs of the <ulink url="http://www.samba.org">Samba software suite</ulink>. It provides many handy features that ease your life in a mostly &Windows;-dominated network environment:</para>

<itemizedlist>
<listitem><para>Scanning for (active) workgroups, hosts, and shares</para></listitem>
<listitem><para>Support of the CIFS (&Linux;) and SMBFS (FreeBSD) file system</para></listitem>
<listitem><para>Mounting and unmounting of shares</para></listitem>
<listitem><para>Access to the files of a mounted share using a file manager or terminal</para></listitem>
<listitem><para>Auto-detection of external mounts and unmounts</para></listitem>
<listitem><para>Remounting of previously used shares on program start</para></listitem>
<listitem><para>Miscellaneous infos about remote network items and mounted shares</para></listitem>
<listitem><para>Network search</para></listitem>
<listitem><para>WINS server support</para></listitem>
<listitem><para>Preview of the contents of a share</para></listitem>
<listitem><para>Several methods to look up the initial list of workgroups and domains</para></listitem>
<listitem><para>Default login</para></listitem>
<listitem><para>Special handling of homes shares</para></listitem>
<listitem><para>Ability to bookmark favorite shares</para></listitem>
<listitem><para>System tray widget</para></listitem>
<listitem><para>Support of advanced Samba options</para></listitem>
<listitem><para>Support of printer shares</para></listitem>
<listitem><para>KWallet support</para></listitem>
<listitem><para>Synchronization of a remote share with a local copy and vice versa</para></listitem>
<listitem><para>Ability to define custom options for individual servers and shares</para></listitem>
<listitem><para>Laptop support through the Solid hardware device framework</para></listitem>
<listitem><para>Wake-On-LAN capabilities</para></listitem>
<listitem><para>&plasmoid; for desktop integration</para></listitem>
</itemizedlist>

 <para>If you encounter problems while using &smb4k;, please visit our <ulink url="https://sourceforge.net/p/smb4k/wiki/Home/">wiki</ulink> first. If you cannot find your problem described there, please post a help request to our <ulink url="https://sourceforge.net/p/smb4k/discussion/help/">Help</ulink> forum. In case you find a bug, please report it to our <ulink url="https://sourceforge.net/p/smb4k/tickets/">bug tracker</ulink>.</para>
 <para>For discussions about &smb4k;-related topics there is the <ulink url="https://sourceforge.net/p/smb4k/discussion/general/">General Discussion</ulink> forum and we invite every user to participate.</para>
</chapter>

<!-- Using Smb4K -->

<chapter id="using_smb4k">
<title>Using &smb4k;</title>

<!-- Running Smb4K -->

<sect1 id="running_smb4k" >
<title>Running &smb4k;</title>

<para>After the installation, you can run &smb4k; either from the K menu or from the command prompt by typing</para>
<screen><prompt>$</prompt> <userinput><command>smb4k</command></userinput></screen>
<para>&smb4k; does not take any arguments, except those that are known to all &kde; programs.</para>
<para>&smb4k; also comes with a plasmoid for better desktop integration. It can be added as widget to the desktop or the panel.</para>

<note><para>If your system is missing some of the programs &smb4k; needs to operate properly, it notifies the user:</para>
<screenshot id="notification_missing_program">
<screeninfo>Screenshot of the missing program notification</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="notification_program_missing.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The missing program notification</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>In this case, please install the listed programs or, if they are already present, add their location to the <envar>PATH</envar> environment variable in your shell's configuration file (for the <ulink url="man:/bash"><citerefentry><refentrytitle>bash</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> shell it is the <filename>~/.bashrc</filename> file).</para>

<para>In addition, it is recommended that you configure Samba before using &smb4k;. The <ulink url="man:/swat"><citerefentry><refentrytitle>swat</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> utility can be used for this purpose. It is part of the Samba software suite and provides an easy-to-use web interface. See its manual page for documentation.</para></note>
</sect1>

<!-- Main Window -->

<sect1 id="mainwindow_overview">
<title>The Main Window</title>
<para>On the first start-up, the main window of &smb4k; looks similar to the one shown below. The network neighborhood browser (<guilabel>Network Neighborhood</guilabel>), the network search widget (<guilabel>Network Search</guilabel>) and the mounted shares view (<guilabel>Mounted Shares</guilabel>) are arranged in a tab widget. Above them the menubar and toolbar(s) are located. Below them you find the status bar.</para>
<screenshot id="mainwindow_overview_screenshot">
  <screeninfo>Screenshot of the main window</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="main_window.png" format="PNG" />
    </imageobject>
    <textobject>
      <phrase>The main window</phrase>
    </textobject>
  </mediaobject>
</screenshot>

<para>Since version 1.1.0, &smb4k; comes with a compact unified toolbar as the default, but the user can still choose to use multiple toolbars. If you wish to use the classical way, four toolbars are defined, for each widget one: the main toolbar, the toolbars for the <guilabel>Network Neighborhood</guilabel> widget, the <guilabel>Shares View</guilabel> widget and the <guilabel>Network Search</guilabel> widget. The unified toolbar contains some of the main actions, like <guimenuitem>Configure &smb4k;</guimenuitem> and <guimenuitem>Quit</guimenuitem>. It also dynamically loads the actions of the dock widget that currently has got the focus. For additional information and some important warnings, please have a look at the sections discussing the <link linkend="network_neighborhood_browser">network neighborhood browser</link>, <link linkend="network_search_dialog">search dialog</link>, and <link linkend="mounted_shares_view">mounted shares view</link>.</para>

<para>The status bar gives some information about the current status of &smb4k;. If the application is processing a user request (&eg; mounting a share), a descriptive message is displayed in the leftmost section and a progress bar is shown with a busy indicator. The two icons on the right hand side indicate if there are shares mounted (remote folder icon) and the status of the authentication system (wallet or key icon).</para>

<para>If the dock widgets are arranged as tabs, the user gets additional visual feedback. Each time a share is mounted or unmounted, the <guilabel>Mounted Shares</guilabel> tab is highlighted for a few seconds.</para>

<para>The main window is highly configurable. You can hide or show all tabbed widgets (<menuchoice><guimenu>Settings</guimenu><guimenuitem>Dock Widgets</guimenuitem></menuchoice>). They can also be dragged around with the mouse and docked to different areas in the main window. You can even detach them from the main window. The status bar and the toolbars can be hidden/shown by toggling the menu entry <menuchoice><guimenu>Settings</guimenu><guimenuitem>Show Statusbar</guimenuitem></menuchoice> and the ones under <menuchoice><guimenu>Settings</guimenu><guimenuitem>Toolbars Shown</guimenuitem></menuchoice>, respectively.</para>
</sect1>

<!-- The network browser -->

<sect1 id="network_neighborhood_browser">
<title>The Network Neighborhood Browser</title>

<para>The interaction with the network neighborhood is done with the <guilabel>Network Neighborhood</guilabel> browser. It contains all network items &#8212; &ie; workgroups, servers, and shares &#8212; &smb4k; was able to find. They are organized in a network tree, and you can navigate through it by either clicking the [+] next to the item name or by executing the item itself.</para>

<para>In the network tree, the master browser of each workgroup or domain is highlighted by blue font color. Mounted shares are marked with the respective folder icon.</para>

<screenshot>
  <screeninfo>Screenshot of the network neighborhood browser</screeninfo>
  <mediaobject>
  <imageobject>
  <imagedata fileref="network_neighborhood_browser.png" format="PNG" />
  </imageobject>
  <textobject>
  <phrase>The network neighborhood browser</phrase>
  </textobject>
  </mediaobject>
</screenshot>

<sect2 id="network_neighborhood_browser_browsing">
<title>Browsing</title>
<para>&smb4k; automatically scans the network neighborhood for active workgroups and domains on start-up and presents them in the network neighborhood browser. Opening a workgroup item shows the servers belonging to it. If you want to access the shares of one of the servers, you have to open the desired server.</para>

<para>There are two scan modes available. The traditional one, where initially only workgroups and domains are looked up and scans are only made when necessary &#8212; &ie; when you execute a network item &#8212;, and one, where the network is scanned periodically for <emphasis>all</emphasis> available network items including servers and shares. While the former one is the default, the latter one can be enabled in the <link linkend="configuration_network_periodic_scanning">configuration dialog</link>.</para>

<para>There are <link linkend="configuration_network_browselist">four methods</link> to retrieve the browse list: The default one is to scan the network neighborhood for all available master browsers. The second and third method directly query a master browser to get the browse list. The difference is that the former is a dynamic one, where the current master browser of your workgroup or domain is looked up and used, and the latter is a static one, where a fixed name or IP address is used. It is recommended that you choose the dynamic method. However, there might be circumstances that make it necessary to use a static name or IP address. The last method searches for all registered IP addresses within a given broadcast area. This might come in handy on poorly performing network neighborhoods.</para>

<para>There is also the possibility to wake up sleeping servers prior to scanning the network neighborhood (Wake-On-LAN). If this feature is enabled, &smb4k; sends a magic package to each server that is to be woken up and waits the defined time until it starts the lookup of the workgroups and domains. The Wake-On-LAN setting can be turned on in the <link linkend="configuration_network_wake_on_lan">configuration dialog</link>. The servers that should to be woken up can be defined in the <link linkend="network_neighborhood_browser_custom">Custom Options</link> dialog.</para>

<note><para>Under normal circumstances you should not have any trouble browsing the network neighborhood. In case you experience problems, please read our <ulink url="https://sourceforge.net/p/smb4k/wiki/Home/">wiki</ulink> first before thinking about <ulink url="https://sourceforge.net/p/smb4k/tickets/">reporting a bug</ulink>. It lists some common problems and their solutions.</para></note>
</sect2>

<sect2 id="mainwindow_network_menu">
<title>Actions and Popup Menu</title>

<para>For the network neighborhood browser several actions are defined. They are present in the menubar under <guimenu>Network</guimenu>, in the toolbar and the popup menu. The following ones are available:</para>
  
<variablelist>
  <varlistentry>
    <term>
      <menuchoice>
        <shortcut><keycap>F5</keycap></shortcut>
        <guimenuitem>Scan Network|Workgroup|Computer</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Scan the whole network neighborhood, the highlighted workgroup/domain or computer for new entries. This action is visible by default and will be replaced by the <guimenuitem>Abort</guimenuitem> action if a network scan is running.</para>
      <note>
        <para>The old keyboard shortcut <keycombo action="simul">&Ctrl; <keycap>R</keycap></keycombo> is still available as an alternative.</para>
      </note>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <shortcut><keycombo action="simul">&Ctrl; <keycap>A</keycap></keycombo></shortcut>
        <guimenuitem>Abort</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Abort any running process of the network neighborhood browser. This action is invisible by default and will only be visible instead of the <guimenuitem>Scan Network|Workgroup|Computer</guimenuitem> action if a network scan is running.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <guimenuitem>Add Bookmark</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Add a bookmark to the currently selected remote share. This action is disabled if no share is selected.</para>
      <para>Read the <link linkend="mainwindow_add_bookmarks">Adding Bookmarks</link> section for more details.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <shortcut><keycombo action="simul">&Ctrl; <keycap>O</keycap></keycombo></shortcut>
        <guimenuitem>Open Mount Dialog</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Open the <link linkend="mainwindow_network_mounting">dialog</link> for mounting shares "manually". This feature may be needed if &smb4k; cannot find a server from which you want to mount a certain shared resource.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <shortcut><keycombo action="simul">&Ctrl; <keycap>T</keycap></keycombo></shortcut>
        <guimenuitem>Authentication</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Open the <link linkend="mainwindow_network_authentication">authentication dialog</link>. You can provide the login and password for the selected server or share. If a workgroup or no item is selected, this action is disabled.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <shortcut><keycombo action="simul">&Ctrl; <keycap>C</keycap></keycombo></shortcut>
        <guimenuitem>Custom Options</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Open the <link linkend="network_neighborhood_browser_custom">Custom Options</link> dialog. You can set several custom options for the selected server or share. If no a workgroup or not item is selected, this menu entry is disabled.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <shortcut><keycombo action="simul">&Ctrl; <keycap>V</keycap></keycombo></shortcut>
        <guimenuitem>Preview</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para><link linkend="mainwindow_network_preview">Preview</link> the contents of the selected remote share. This action is only enabled if a share is selected. Printer shares cannot be previewed.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <shortcut><keycombo action="simul">&Ctrl; <keycap>P</keycap></keycombo></shortcut>
        <guimenuitem>Print File</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para><link linkend="mainwindow_network_printing">Print</link> a file on a remote printer. This action is only available if a printer share is selected.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <shortcut><keycombo action="simul">&Ctrl; <keycap>M</keycap></keycombo></shortcut>
        <guimenuitem>Mount</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Mount the selected remote share. By default and if you clicked anything different than a share with type "Disk" or "IPC", this action is disabled.</para>
    </listitem>
  </varlistentry>
</variablelist>

<para>Although you can interact with the network neighborhood using the keyboard shortcuts mentioned above, in most cases it is more convenient to use the mouse. By right clicking you can open a popup menu. It contains all actions that are available in the network neighborhood browser. Depending on the position where you clicked (on a network item or on the viewport), some of them may be disabled. The figure below shows the popup menu opened on a remote share.</para>

<screenshot>
  <screeninfo>Screenshot of the popup menu of the network browser</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="popup_menu_browser.png" format="PNG" />
      </imageobject>
      <textobject>
        <phrase>The popup menu of the network browser</phrase>
      </textobject>
    </mediaobject>
</screenshot>

<para>The title of the popup menu is set to the name of the network item or displays <guilabel>Network</guilabel> if you clicked on the viewport.</para>
</sect2>

<sect2 id="mainwindow_network_tooltips">
<title>Tooltips</title>
<para>For each network item a tooltip is provided that contains various information like the name of the workgroup and master browser, the name and IP address of the host, the name of the share, &etc; If a tooltip is requested for a server, it is queried for additional information about the operating system and the server (&eg; Samba).</para>
<para>The tooltips can be disabled in the <link linkend="configuration_user_interface_network_tooltips">configuration dialog</link>.</para>
</sect2>

<sect2 id="mainwindow_network_mounting">
<title>Mounting a Share</title>

<para>There are three options available to mount a remote share:</para>

<orderedlist>
<listitem>
<para>Execute the icon representing the remote share in the network neighborhood browser. (Depending on your &kde; settings, this is done by either single or double clicking the icon.)</para>
</listitem>
<listitem>
<para>Select the remote share and click the <guimenuitem>Mount</guimenuitem> menu entry. Alternatively, you can press the <keycombo action="simul">&Ctrl; <keycap>M</keycap></keycombo> keyboard shortcut.</para>
</listitem>
<listitem><para>If &smb4k; was not able to find the server where the share is located, you can press the <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>O</keycap></keycombo></shortcut><guimenuitem>Open Mount Dialog</guimenuitem></menuchoice> menu entry and a mount dialog will be opened:</para>
<screenshot>
<screeninfo>Screenshot of the "Mount Share" dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dialog_manual_mount.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The "Mount Share" dialog</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>Here you can enter the location of the share either as <ulink url="http://en.wikipedia.org/wiki/Uniform_Naming_Convention#Uniform_Naming_Convention">Uniform Naming Convention (UNC)</ulink> address in the form <screen>//[USER@]SERVER/SHARE</screen> or <screen>\\[USER@]SERVER\SHARE</screen> or as URL in the form <screen>[smb:]//[user@]server:port/share</screen> The <guibutton>OK</guibutton> button will be enabled and you can press it to mount the share. However, it is advisable to enter the IP address and the workgroup of the server, too. If you want to add the share to the bookmarks at the same time, tick the <guibutton>Add this share to the bookmarks</guibutton> check box.</para>
</listitem>
</orderedlist>

<para>Often a share is password protected. In this case, an <link linkend="mainwindow_network_authentication">authentication dialog</link> will appear and you have to enter the correct user name (if not already provided) and password. &smb4k; will proceed mounting the share unless a wrong user name or password was supplied. In that case, the authentication dialog will reappear. If the mount process was successful, the user will be shown a notification and the share will appear in the <link linkend="mounted_shares_view">mounted shares view</link>. If mounting fails, a notification with the error message that was returned by <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> (&Linux;) or <ulink url="man:/mount_smbfs"><citerefentry><refentrytitle>mount_smbfs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> (FreeBSD) will be shown.</para>

<para>You can switch off the (purely informatory) mount notifications in the <link linkend="configuration_user_interface_general_notifications">configuration dialog</link>.</para>

<note><para>With a standard installation of &smb4k;, <emphasis>FreeBSD</emphasis> users might experience problems when they try to mount a share. This is due to misplaced DBUS and/or PolKit-1 config files. The section <link linkend="freebsd_remarks_installation">Remarks for FreeBSD Users : DBUS and PolKit-1</link> explains how to fix these issues.</para></note>
</sect2>

<sect2 id="mainwindow_network_printing">
<title>Printing Files on Remote Printers</title>
<para>To print a file on a remote printer, open the print dialog by clicking the printer icon or choosing the <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>P</keycap></keycombo></shortcut><guimenuitem>Print File</guimenuitem></menuchoice> menu item.</para>
<screenshot>
<screeninfo>Screenshot of the print dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dialog_print_file.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The print dialog</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>In the <guilabel>Printer</guilabel> section various information about the printer is shown. Under <guilabel>File</guilabel> you have to provide the name of the file you want to print. The number of copies can be defined under <guibutton>Options >></guibutton>. Press <guibutton>Print...</guibutton> to start the print process.</para>
<para>&smb4k; currently supports PDF, Postscript, image, and text files. If you try to print a file with an unsupported mimetype, a notification with an error message will appear telling you the mimetype is not supported. In this case you have to convert the file manually to Postscript or PDF and try again.</para>
</sect2>

<sect2 id="mainwindow_network_preview">
<title>Previewing Shares</title>
<para>&smb4k; provides the ability to preview remote shares. If you click the <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>V</keycap></keycombo></shortcut><guimenuitem>Preview</guimenuitem></menuchoice> menu entry, the contents of the selected remote share will be opened in a preview dialog.</para>
<screenshot>
<screeninfo>Screenshot of the preview dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dialog_preview.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The preview dialog</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>The preview dialog acts like a simple file manager. You can navigate through the contents of the remote share by clicking the folder icons in the list view and the <guibutton>Up</guibutton>, <guibutton>Back</guibutton>, and <guibutton>Forward</guibutton> button. The current location is displayed in the combo box on the right hand side. The <guibutton>Reload</guibutton> button reloads the contents of the current folder.</para>
<para> By default, the preview dialog only shows folders and files that are not hidden. You can change this behavior in the <link linkend="configuration_user_interface_preview_hidden">configuration dialog</link>. File transfers or the like are not possible.</para>
</sect2>

<sect2 id="mainwindow_network_authentication">
<title>Providing Authentication Information</title>
<para>Many servers or remote shares are password protected. In that case, a password dialog appears asking you for the user name and password. The same happens, if you click the  <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>T</keycap></keycombo></shortcut><guimenuitem>Authentication</guimenuitem></menuchoice> menu entry.</para>
<screenshot>
<screeninfo>Screenshot of the authentication dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dialog_authentication.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The authentication dialog</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>If a user name has already been provided, it will be shown in the respective field. If it is wrong or no user name was provided, you have to enter one. The password, however, may be left blank. Clicking the <guibutton>OK</guibutton> button will commit the data. Depending on your choice in the <link linkend="configuration_authentication">configuration dialog</link>, the user name and password will be stored permanently in a digital wallet, temporarily until &smb4k; exits or not all. In the latter case you will have to provide them <emphasis>every time</emphasis> they are needed.</para>
</sect2>

<sect2 id="network_neighborhood_browser_custom">
<title>Defining Custom Options</title>
<para>If you need to define special options for a single server or share that are different from the global ones that are set in the configuration dialog<!-- link comes below -->, you can do this with the <guilabel>Custom Options</guilabel> dialog. It is opened by clicking the <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>C</keycap></keycombo></shortcut><guimenuitem>Custom Options</guimenuitem></menuchoice> menu entry.</para>

<screenshot>
  <screeninfo>Screenshot of the custom options dialog for a share</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="dialog_custom_options.png" format="PNG" />
    </imageobject>
    <textobject>
      <phrase>The custom options dialog</phrase>
    </textobject>
  </mediaobject>
</screenshot>

<para>You can define custom Samba options here and set up the Wake-On-LAN feature. For the latter, you need to have Wake-On-LAN enabled in the <link linkend="configuration_network_wake_on_lan">configuration dialog</link>.</para>

<para>The <guibutton>Default</guibutton> button is enabled if the entries in the dialog deviate from the settings you defined in the configuration dialog. By clicking it, you can reset the entries in the dialog to these default ones. The <guibutton>OK</guibutton> button is enabled if you changed the settings in the dialog. Clicking it will commit the custom settings and close the dialog.</para>

<note><para>Under FreeBSD, the dialog contains less entries than if you run a different operating system, because several of the options are not supported.</para></note>

<sect3 id="network_neighborhood_browser_custom_samba">
  <title>Samba</title>

  <para>Depending on your selection, the settings in the custom options dialog either apply to all shares of a server or to a single one. You can define the SMB port, the file system port (&Linux; only), the write access, the user ID, the group ID and if Kerberos should be used for authentication. For detailed information on the individual settings, please see <link linkend="configuration_samba">here</link>.</para>
</sect3>

<sect3 id="network_neighborhood_browser_custom_wol">
  <title>Wake-On-LAN</title>
  
  <para>To make the Wake-On-LAN feature work, you need to provide the MAC address of the server you selected. Currently, &smb4k; has no way to determine the MAC address, so you need to find it out on your own. Afterwards, you can define if &smb4k; should send a magic Wake-On-LAN package to the selected host before the network neighborhood is scanned and/or one of its shares is mounted.</para>
</sect3>

</sect2>

<sect2 id="mainwindow_network_bookmark">
<title>Adding Bookmarks</title>
<para>A bookmark is added by selecting a remote share (only these can be bookmarked) and pressing the <keycombo action="simul">&Ctrl; <keycap>B</keycap></keycombo> keyboard shortcut or selecting the <guimenuitem>Add Bookmark</guimenuitem> menu item. The bookmark will then be accessible through the <guimenu>Bookmarks</guimenu> menu. See the section <link linkend="mainwindow_bookmarks">Handling Bookmarks</link> for more details.</para>
<para>The bookmarks can be used to mount remote shares.</para>
</sect2>
</sect1>

<!-- The search dialog -->

<sect1 id="network_search_dialog">
<title>The Network Search Dialog</title>
<para>The <guilabel>Network Search</guilabel> dialog consists of the combo box where you can enter the search item and a list view where the search results are shown.</para>
<screenshot>
<screeninfo>Screenshot of the network search dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="network_search_dialog.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The network search dialog</phrase>
</textobject>
</mediaobject>
</screenshot>

<sect2 id="network_search_dialog_searching">
<title>Searching</title>
<para>&smb4k; searches the network neighborhood for shares that match or contain the search string. To start a search, enter the term and either press the &Enter; key or click the <menuchoice><shortcut><keycombo action="simul">&Ctrl;<keycap>S</keycap></keycombo></shortcut><guimenuitem>Search</guimenuitem></menuchoice> action next to the input box. All network shares that match the search criterion are listed in the list view. If they are already mounted on the system, they are marked accordingly. If the search fails, an error message is displayed. Starting a new search will clear the list view. If you need to abort a search, click the <menuchoice><shortcut><keycombo action="simul">&Ctrl;<keycap>A</keycap></keycombo></shortcut><guimenuitem>Abort</guimenuitem></menuchoice> action next to the <guimenuitem>Search</guimenuitem> action.</para>
</sect2>

<sect2 id="network_search_dialog_menu">
  <title>Actions and Popup Menu</title>

<para>For the network search also several actions are defined. They are present in the menu bar under <guimenu>Search</guimenu>, the tool bar, in the widget itself and in its popup menu. The following ones are available:</para>

<variablelist>
  <varlistentry>
    <term>
      <menuchoice>
        <shortcut><keycombo action="simul">&Ctrl; <keycap>S</keycap></keycombo></shortcut>
        <guimenuitem>Search</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Search for the item that was entered in the search dialog. This action is visible by default and will be replaced by the <guimenuitem>Abort</guimenuitem> action if a network search is running.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <shortcut><keycombo action="simul">&Ctrl; <keycap>A</keycap></keycombo></shortcut>
        <guimenuitem>Abort</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Abort the network search. This action is invisible by default and will only be visible instead of the <guimenuitem>Search</guimenuitem> action if a network search is running.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <guimenuitem>Clear</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Clear the whole network search dialog. This action does not only clear the list view, but also the search item history in the combo box.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <shortcut><keycombo action="simul">&Ctrl; <keycap>M</keycap></keycombo></shortcut>
        <guimenuitem>Mount</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Mount a remote share from within the search dialog. Alternatively, you can double click the network share in the list view.</para>
    </listitem>
  </varlistentry>
</variablelist>

<para>The popup menu contains two of the four actions. The <menuchoice><shortcut><keycombo action="simul">&Ctrl;<keycap>S</keycap></keycombo></shortcut><guimenuitem>Search</guimenuitem></menuchoice> and <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>A</keycap></keycombo></shortcut><guimenuitem>Abort</guimenuitem></menuchoice> dual action is located next to the search input box (as well as in the menu bar and tool bar).</para>

<screenshot>
  <screeninfo>Screenshot of the network search's popup menu</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="popup_menu_network_search.png" format="PNG" />
    </imageobject>
    <textobject>
      <phrase>The network search's popup menu</phrase>
    </textobject>
  </mediaobject>
</screenshot>
</sect2>

<sect2 id="network_search_dialog_adding">
<title>Mounting a Share</title>
<para>A discovered share can directly be mounted by either double clicking it or by selecting it and choosing the <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>D</keycap></keycombo></shortcut><guimenuitem>Mount</guimenuitem></menuchoice> action from the popup menu. Due to a shortcoming of the utility program that does the actual search (the <ulink url="man:/smbtree"><citerefentry><refentrytitle>smbtree</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> command), &smb4k; cannot discriminate between printer and normal shares. Mounting a printer share will fail and an error notification will be shown.</para>
<note>
  <para>When mounting a homes share, you are asked to provide the user name and a share with that name is mounted. The homes share itself will, thus, not be labeled as mounted afterwards.</para>
</note>
</sect2>
</sect1>

<!-- The shares view -->

<sect1 id="mounted_shares_view">
<title>The Mounted Shares View</title>
<para>In the shares view, you can interact with the mounted shares on your system.</para>

<sect2 id="mounted_shares_view_views">
<title>Different Views</title>
<para>&smb4k; comes with two alternative views: an icon and a list view. They are both shown below.</para>
<para>The icon view:</para>
<screenshot>
  <screeninfo>Screenshot of the shares icon view</screeninfo>
  <mediaobject>
  <imageobject>
  <imagedata fileref="shares_icon_view.png" format="PNG" />
  </imageobject>
  <textobject>
  <phrase>The shares icon view</phrase>
  </textobject>
  </mediaobject>
</screenshot>
<para>The list view:</para>
<screenshot>
  <screeninfo>Screenshot of the shares list view</screeninfo>
  <mediaobject>
  <imageobject>
  <imagedata fileref="shares_list_view.png" format="PNG" />
  </imageobject>
  <textobject>
  <phrase>The shares list view</phrase>
  </textobject>
  </mediaobject>
</screenshot>

<para>The default view is the traditional icon view where the shares are displayed as icons along with their name or mount point. In the list view all shares are displayed with their name or mount point, the file system and the disk usage. More information can be included by adjusting the <link linkend="configuration_user_interface_shares_view">settings</link>.</para>

<para>You can switch between the two views by either selecting an entry from the <link linkend="mainwindow_overview"><guibutton>Shares View</guibutton></link> menu or by changing the settings in the <link linkend="configuration_user_interface_shares_view">configuration dialog</link>.</para>
<para>By default, you will only see your own mounts in the shares view. However, you can tell &smb4k; to show all mounts by altering the <link linkend="configuration_user_interface_shares_mounted_shares">respective settings</link>.</para>
</sect2>

<sect2 id="mounted_shares_view_menu">
  <title>Actions and Popup Menu</title>

<para>For the shares view several actions are defined. They are present in the menu bar under <guimenu>Shares</guimenu>, the tool bar and in its popup menu. The following ones are available:</para>

<variablelist>
  <varlistentry>
    <term>
      <menuchoice>
        <shortcut><keycombo action="simul">&Ctrl; <keycap>U</keycap></keycombo></shortcut>
        <guimenuitem>Unmount</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Unmount one or multiple selected shares. The ability to unmount shares is by default restricted to the ones that are owned by you. However, you can change this behavior by changing the <link linkend="configuration_shares_mounting">settings</link> in the configuration dialog. If no share is selected in the shares view, this button is disabled.</para>
      <para>&smb4k; also provides the ability to force the unmounting of shares (&Linux; only). This might be useful with inaccessible shares that cannot be unmounted the normal way. To enable this feature, you need to modify the <link linkend="configuration_shares_mounting">settings</link> in the configuration dialog.</para>
      <para>Read the <link linkend="mainwindow_shares_unmounting">Unmounting Shares</link> section for more details.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <shortcut><keycombo action="simul">&Ctrl; <keycap>N</keycap></keycombo></shortcut>
        <guimenuitem>Unmount All</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Unmount all shares at once. The restrictions noted above also apply here. If you do not have any shares mounted, this button is disabled.</para>
      <para>Read the <link linkend="mainwindow_shares_unmounting">Unmounting Shares</link> section for more details.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <guimenuitem>Add Bookmark</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Add a bookmark to the currently selected mounted share. This action is disabled if no share is selected.</para>
      <para>Read the <link linkend="mainwindow_add_bookmarks">Adding Bookmarks</link> section for more details.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <shortcut><keycombo action="simul">&Ctrl; <keycap>Y</keycap></keycombo></shortcut>
        <guimenuitem>Synchronize</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Start the <link linkend="mainwindow_shares_synchronization">synchronization</link> of a share with a local copy or vice versa. This menu entry is only enabled if you installed the program <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink>.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <shortcut><keycombo action="simul">&Ctrl; <keycap>L</keycap></keycombo></shortcut>
        <guimenuitem>Open with Konsole</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Open the base folder of a share in &konsole;. This menu item is useful if you need to run shell scripts, &etc;</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <shortcut><keycombo action="simul">&Ctrl; <keycap>I</keycap></keycombo></shortcut>
        <guimenuitem>Open with File Manager</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Open the contents of a share in the default file manager.</para>
    </listitem>
  </varlistentry>
</variablelist>

<para>The popup menu includes all actions that can be performed on a mounted share:</para>
<screenshot>
  <screeninfo>Screenshot of the popup menu of the shares view</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="popup_menu_shares_view.png" format="PNG" />
    </imageobject>
    <textobject>
      <phrase>The popup menu of the shares view</phrase>
    </textobject>
  </mediaobject>
</screenshot>
<para>It can be opened by clicking the right mouse button.</para>
</sect2>

<sect2 id="mounted_shares_view_tooltips">
<title>Tooltips</title>
<para>The tooltips provide information about the share name, the mount point, the user and group, the login, the file system, the disk usage, and the free disk space. If the share is <link linkend="mounted_shares_view_inaccessible_shares">inaccessible</link>, these values are marked as unknown.</para>
<para>Tooltips are enabled by default. You can deactivate them in the <link linkend="configuration_user_interface_shares_tooltips">configuration dialog</link>.</para>
</sect2>

<sect2 id="mounted_shares_view_inaccessible_shares">
<title>Inaccessible Shares</title>
<para>&smb4k; periodically checks all mounted shares if they are still accessible. If an inaccessible share is encountered, it will be marked with a <link linkend="mounted_shares_view_icons">modified icon</link> and you will not be able to open or synchronize it anymore. Unmounting and adding a bookmark is still possible.</para>
<note><para>The program might freeze for a short period of time due to an inaccessible share. It will recover afterwards.</para></note>
</sect2>

<sect2 id="mounted_shares_view_icons">
<title>Icons</title>
<para>The shares views know three different icons that may be presented to the user:</para>
<screenshot>
  <screeninfo>Screenshot of three different icons</screeninfo>
  <mediaobject>
  <imageobject>
  <imagedata fileref="shares_view_icons.png" format="PNG" />
  </imageobject>
  <textobject>
  <phrase>Three different icons</phrase>
  </textobject>
  </mediaobject>
</screenshot>
<itemizedlist>
<listitem><para>The icon on the left hand side indicates that this share is not accessible. &smb4k; won't allow you to open it or to do synchronization with it. You will only be able to unmount or add a bookmark to it.</para></listitem>
<listitem><para>The central icon indicates that the share is online, accessible, and owned by you. You may perform all available actions on it.</para></listitem>
<listitem><para>All shares marked with a red flag like the one on the right hand side are owned by another user. They are only shown if you adjusted the <link linkend="configuration_user_interface_shares_mounted_shares">settings</link> to display them. In the default configuration, you are not allowed to unmount these shares, but you can <link linkend="configuration_shares_mounting">change this behavior</link>, too.</para></listitem>
</itemizedlist>
</sect2>

<sect2 id="mainwindow_shares_dnd">
<title>Drag-and-Drop</title>
<para>&smb4k; supports drag-and-drop in the shares views:</para>
<para>You can drag a share icon from within the shares view onto the desktop or into another application (&eg; &dolphin;) and drop it there. You will then maybe get a popup menu asking you if you want to copy, link or move the contents of the share. When choosing the appropriate operation please remember that under most circumstances moving and linking the share might not be a good idea. The popup menu can be avoided if you hold down the &Ctrl; key while you are dragging and dropping the share.</para>
<para>Files and directories can be transferred to a mounted share by dragging them over its icon in the view and drop them there. By default the data will be moved to the share. To copy it, hold down the &Ctrl; key while you are dragging and dropping it. The transfer will only be successful if the share was mounted with read and write permissions.</para>
</sect2>

<sect2 id="mainwindow_shares_unmounting">
<title>Unmounting Shares</title>
<para>One or multiple selected shares may be unmounted by either clicking the <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>U</keycap></keycombo></shortcut><guimenuitem>Unmount</guimenuitem></menuchoice> action or by pressing its keyboard shortcut. By default, the ability to unmount a share is restricted to the ones that are owned by you. This behavior can be altered in the <link linkend="configuration_shares">configuration dialog</link>. If you enabled the unmounting of shares that are owned by other users, you will be presented with a warning dialog prior to the actual unmount:</para>
<screenshot>
  <screeninfo>Screenshot of the warning dialog that is shown when a foreign share is to be unmounted</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="dialog_warning_unmount_foreign_share.png" format="PNG" />
    </imageobject>
    <textobject>
      <phrase>The warning dialog that is shown when unmounting foreign shares</phrase>
    </textobject>
  </mediaobject>
</screenshot>
<para>If you click the <guibutton>Yes</guibutton> button, the share will definitely be unmounted. So, please think twice before you decide to unmount shares that are owned by other users!</para>
<para>Inaccessible shares are unmounted with a "normal" unmount by default. If this should fail, you can <link linkend="configuration_shares">configure</link> &smb4k; so as to perform a <ulink url="man:/umount">lazy unmount</ulink> on inaccessible shares (&Linux; only).</para>
<para>All shares can be unmounted at once by clicking the <menuchoice><shortcut><keycombo action="simul">&Ctrl; <keycap>N</keycap></keycombo></shortcut><guimenuitem>Unmount All</guimenuitem></menuchoice> action. Depending on your settings, this will also unmount foreign and inaccessible shares.</para>
<para>After a successful unmount process, the user is notified. You can switch off this kind of purely informatory notifications in the <link linkend="configuration_user_interface_general_notifications">configuration dialog</link>. If unmounting fails, a notification with the returned error message will be shown.</para>
</sect2>

<sect2 id="mainwindow_shares_synchronization">
<title>Synchronization</title>
<para>The <menuchoice><shortcut><keycombo action="simul">&Ctrl;<keycap>Y</keycap></keycombo></shortcut><guimenuitem>Synchronize</guimenuitem></menuchoice> menu item opens the synchronization dialog. It offers you the mount point of the share as source and a path below the <link linkend="configuration_sync_copying_defdest">synchronization prefix</link> as destination. To update the data on the share, you can swap the destination with the source by clicking the <guibutton>Swap Paths</guibutton> button.</para>
<screenshot>
<screeninfo>Screenshot of the synchronization input dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dialog_synchronization_input.png" format="PNG" />
</imageobject>
<textobject>
<phrase>&URL; requester for sync'ing</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>Clicking the <guibutton>Synchronize</guibutton> button starts the synchronization. By left clicking on the <guibutton>Notifications</guibutton> button in the system tray, a progress dialog can be opened that shows some details about the transfer.</para>
<screenshot>
  <screeninfo>Screenshot of the synchronization progress dialog</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="dialog_synchronization_progress.png" format="PNG" />
    </imageobject>
    <textobject>
      <phrase>Progress dialog</phrase>
    </textobject>
  </mediaobject>
</screenshot>
<para>In the default, collapsed version it displays the source and destination of the file that is currently transferred, the transfer rate and the overall progress. More information like the number of transferred files and a graphical representation of the transfer rate can be seen by clicking the <guibutton>More</guibutton> button on the left below to the progress bar.</para>
<para>The synchronization can be paused or canceled at any time by pressing the pause or stop button to the right of the progress bar.</para>

<note>
  <para>The total number of files that is shown in the progress dialog corresponds to the number of files present on the share and not necessarily to the total number of files that will actually be transferred.</para>
  <para>The progress is calculated from the number of transferred files devided by the total number of files present on the share. Their size is not considered. That means that one very large file adds to the progress as much as a very small one does. Also, due to the way <application>rsync</application> displays the transfer progress, the progress bar is only updated after the transfer of the file.</para>
</note>
</sect2>

<sect2 id="mainwindow_shares_konqueror">
<title>Opening a Share</title>
<para>&smb4k; provides two possibilities to open a mounted share:</para>
<itemizedlist>
<listitem><formalpara><title>Open a share with &konsole;</title>
<para>You can open the mounted share in &konsole; by selecting the <menuchoice><shortcut><keycombo action="simul">&Ctrl;<keycap>L</keycap></keycombo></shortcut><guimenuitem>Open with Konsole</guimenuitem></menuchoice> action. This is useful if you need to run shell scripts on the share or similar.</para>
</formalpara></listitem>
<listitem><formalpara><title>Open a share with the default file manager</title>
<para>You can open the share in the default file manager (&eg; &dolphin;) by clicking the share icon or selecting the <menuchoice><shortcut><keycombo action="simul">&Ctrl;<keycap>I</keycap></keycombo></shortcut><guimenuitem>Open with File Manager</guimenuitem></menuchoice> action.</para>
</formalpara></listitem>
</itemizedlist>
<note><para>If a share is marked as inaccessible, it cannot be opened.</para></note>
</sect2>
</sect1>

<!-- Bookmarks -->

<sect1 id="mainwindow_bookmarks">
<title>Handling Bookmarks</title>

<sect2 id="mainwindow_add_bookmarks">
<title>Adding Bookmarks</title>
<para>You can add bookmarks to your favorite shares from within the <link linkend="network_neighborhood_browser">network neighborhood browser</link>, the <link linkend="mounted_shares_view">shares view</link> and the <link linkend="plasmoid">plasmoid</link>. In the dock widgets of the main window, this is done by selecting one or multiple shares and clicking the <menuchoice><guimenuitem>Add Bookmark</guimenuitem></menuchoice> action. In the plasmoid, you click the respective bookmark action next to the item's name. A dialog will then pop up where you can add a label and/or assign a group to the bookmark.</para>
<screenshot>
<screeninfo>Screenshot of the bookmarks addition dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dialog_bookmark_addition.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Bookmarks addition dialog</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>Especially adding a group may help you to organize the bookmarks. In the bookmark menu, all bookmarks belonging to one group will be arranged in a submenu with the group entry as parent (see <link linkend="mainwindow_bookmarks_menu">below</link>).</para>
<para>The label can be any text describing the share. In case you define a label, it will be displayed in the bookmarks menu instead of the UNC by default. If you want to change this behavior, you can do so in the <link linkend="configuration_user_interface_general_bookmarks">configuration dialog</link>.</para>
</sect2>

<sect2 id="mainwindow_bookmarks_menu">
<title>Accessing and Managing Bookmarks</title>
<para>In the main window, the bookmarks can be accessed and managed through the <guilabel>Bookmarks</guilabel> menu:</para>

<screenshot>
  <screeninfo>Screenshot of the bookmark popup menu</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="popup_menu_bookmarks.png" format="PNG" />
    </imageobject>
    <textobject>
      <phrase>Bookmark popup menu</phrase>
    </textobject>
  </mediaobject>
</screenshot>

<para>In the menu there are two static items available:</para>

<variablelist>
  <varlistentry>
    <term>
      <menuchoice>
        <guimenuitem>Edit Bookmarks</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Open the <link linkend="mainwindow_bookmarks_editor">bookmark editor</link>. This action is disabled if there are no bookmarks.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <shortcut><keycombo action="simul">&Ctrl; <keycap>B</keycap></keycombo></shortcut>
        <guimenuitem>Add Bookmark</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Add a bookmark. A share has to be selected to enable this action.</para>
    </listitem>
  </varlistentry>
</variablelist>

<para>In case you have not defined any groups, there is a third item:</para>

<variablelist>
  <varlistentry>
    <term>
      <menuchoice>
        <guimenuitem>Mount All Bookmarks</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Mount all top-level bookmarks at once. It is disabled if all bookmarked shares are mounted.</para>
    </listitem>
  </varlistentry>
</variablelist>

<para>All other entries are either group submenus or shares that do not belong to a group. All entries are listed alphabetically and the bookmarks may either appear with their UNC address or descriptive label. By clicking a bookmark, the respective share is mounted. If a bookmarked share is mounted on the system, the bookmark entry is disabled.</para>
<para>For each group there is a submenu. It contains all bookmarks belonging to the group and a <guimenuitem>Mount All Bookmarks</guimenuitem> menu item. The latter one can be used to mount all bookmarks in that submenu at once.</para>

<para>The plasmoid provides a <link linkend="plasmoid_bookmarks"><guilabel>Bookmarks</guilabel> tab</link> where all bookmarks are arranged in a similar way as in the bookmark menu. The bookmark groups and the bookmarks are listed in the view. Bookmarked shares can be mounted by clicking the respective entry. In the tool bar two actions are present: <guimenuitem>Back</guimenuitem> and <guimenuitem>Edit</guimenuitem>. By clicking <guimenuitem>Back</guimenuitem> you can get back to the top level if you entered a group folder. The <guimenuitem>Edit</guimenuitem> action will open the <link linkend="mainwindow_bookmarks_editor">bookmark editor</link>.</para>
</sect2>

<sect2 id="mainwindow_bookmarks_editor">
<title>Editing Bookmarks</title>
<para>The bookmarks may be edited or removed via the bookmark editor. It can be opened by clicking the <guimenuitem>Edit Bookmarks</guimenuitem> action in the main window or the <guimenuitem>Edit</guimenuitem> action in the <guilabel>Bookmarks</guilabel> tab of the plasmoid.</para>
<screenshot>
<screeninfo>Screenshot of the bookmark editor</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dialog_bookmark_editor.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Bookmark editor</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>In the tree view the bookmarks are arranged according to the groups they belong to. Bookmarks without groups are located at the top level. To rearrange bookmarks, the tree view offers drag and drop capabilities, so that you can move bookmarks around using the mouse.</para>
<para>If you want to edit a bookmark, you can do so by selecting it. The stored label, login, IP address and group name appear in the input widgets and become editable. In most cases, you do not need to touch the IP address and the login, because &smb4k; stored the correct values at the time you bookmarked the share. However, if the server got a different IP address (&eg; because DHCP is used on your local network) or your login changed, these entries should be adjusted. With the label you can give each bookmark a custom description. It will be used <emphasis>instead</emphasis> of the UNC address in the case this feature is enabled in the <link linkend="configuration_user_interface_general_bookmarks">configuration dialog</link>. The group entry, finally, helps you to organize your bookmarks. Especially if you use &eg; your notebook at home and at work, it might be a good idea to create two groups "Home" and "Work" and save the bookmarks accordingly.</para>
<para>The tree view also offers a popup menu containing the following three actions. They can be used to add groups or remove groups and/or bookmarks.</para>
<screenshot>
<screeninfo>Screenshot of the popup menu of the bookmark editor</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="popup_menu_bookmark_editor.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Popup menu of the bookmark editor</phrase>
</textobject>
</mediaobject>
</screenshot>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guimenuitem>Add Group</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Add a bookmark group. After you created a group, you can move bookmarks to it.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenuitem>Remove</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Remove a selected bookmark. This action is disabled if no bookmark is selected.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenuitem>Clear Bookmarks</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Remove all bookmarks from the tree view including all groups.</para>
</listitem>
</varlistentry>
</variablelist>
<para>After you finished editing, the changes can be committed by clicking the <guibutton>OK</guibutton> button.</para>
</sect2>
</sect1>

<!-- System tray -->

<sect1 id="systemtray">
<title>The System Tray Widget</title>

<sect2 id="systemtray_location_usage">
<title>Location and Usage</title>

<para>When &smb4k; is started, an icon appears in your system tray.</para>

<screenshot>
  <screeninfo>Screenshot of the system tray widget</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="system_tray_icon.png" format="PNG" />
    </imageobject>
    <textobject>
      <phrase>System tray widget</phrase>
    </textobject>
  </mediaobject>
</screenshot>

<para>By left clicking the icon, you can minimize or restore the main window. A right click brings up a popup menu that contains several menu items allowing you to work with the mounted shares, manage or mount your bookmarks and to configure &smb4k; without the need to open the main window.</para>
</sect2>

<sect2 id="systemtray_menus">
<title>Menus and Menu Items</title>

<para>The <guimenuitem>Mounted Shares</guimenuitem> menu lists all mounted shares and some actions that can be performed on them.</para>

<screenshot>
  <screeninfo>Screenshot 1 of the popup menu of the system tray icon</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="system_tray_icon_popup_menu1.png" format="PNG" />
    </imageobject>
    <textobject>
      <phrase>System tray icon's popup menu 1</phrase>
    </textobject>
  </mediaobject>
</screenshot>

<variablelist>
  <varlistentry>
    <term>
      <menuchoice>
        <guimenuitem>Unmount All</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Unmount all shares at once. Depending on your <link linkend="configuration_shares_mounting">settings</link>, &smb4k; attempts to unmount either only those shares that are owned by you or all that are listed.</para>
    </listitem>
  </varlistentry>
</variablelist>
  
<para>For each mounted share you can open a submenu that contains the following entries. For further information read <link linkend="mounted_shares_view_menu">here</link>.</para>

<variablelist>
  <varlistentry>
    <term>
      <menuchoice>
        <guimenuitem>Unmount</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Unmount the share.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <guimenuitem>Add Bookmark</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Add the selected share to the bookmarks.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <guimenuitem>Synchronize</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Synchronize the mounted share with a local copy or vice versa. For further information read <link linkend="mounted_shares_view_menu">here</link> and <link linkend="mainwindow_shares_synchronization">here</link>.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <guimenuitem>Open with &konsole;</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Open the base folder of the share in &konsole;.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <guimenuitem>Open with File Manager</guimenuitem>
      </menuchoice>
    </term>
    <listitem>
      <para>Open the contents of the share in the default file manager (&eg; &dolphin;).</para>
    </listitem>
  </varlistentry>
</variablelist>

<para>The <guimenuitem>Bookmarks</guimenuitem> menu contains all your bookmarks organized according to the structure you gave them (see also <link linkend="mainwindow_add_bookmarks">here</link> and <link linkend="mainwindow_bookmarks_editor">here</link>)</para>

<screenshot>
  <screeninfo>Screenshot 2 of the popup menu of the system tray icon</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="system_tray_icon_popup_menu2.png" format="PNG" />
    </imageobject>
    <textobject>
      <phrase>System tray icon's popup menu 2</phrase>
    </textobject>
  </mediaobject>
</screenshot>

<para>Its layout is as described <link linkend="mainwindow_bookmarks_menu">here</link> except that the <guimenuitem>Add Bookmark</guimenuitem> menu item is not present.</para>

<para>The other menu entries are:</para>

<variablelist>
<varlistentry>
<term>
<menuchoice>
<guimenuitem>Open Mount Dialog</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Open the <link linkend="mainwindow_network_mounting">dialog</link> for "manual" mounts.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenuitem>Configure &smb4k;...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Open the configuration dialog. See <link linkend="configuration">here</link> for a full list of available settings.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenuitem>Minimize | Restore</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Hide (minimize) or show (restore) the main window. Which text is shown depends on the state of the main window.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>Q</keycap>
</keycombo>
</shortcut>
<guimenuitem>Quit</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Quit the application.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>

<!-- The Plasmoid -->

<sect1 id="plasmoid">
<title>The &plasmoid;</title>
<para>&smb4k; comes with a plasmoid that can be added as a widget to the desktop or the panel. It consists of three views that are arranged as tabs: <guilabel>Network Neighborhood</guilabel>, <guilabel>Mounted Shares</guilabel>, and <guilabel>Bookmarks</guilabel>.</para>

<screenshot>
  <screeninfo>Screenshot of the plasmoid on the desktop</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="plasmoid.png" format="PNG" />
      </imageobject>
      <textobject>
        <phrase>Screenshot of the plasmoid</phrase>
      </textobject>
    </mediaobject>
</screenshot>

<sect2 id="plasmoid_network_neighborhood">
<title>Network Neighborhood Tab</title>

<para>In the <guilabel>Network Neighborhood</guilabel> tab the network items are arranged in a list view:</para>

<screenshot>
  <screeninfo>Screenshot of the plasmoid's network neighborhood tab</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="plasmoid_network_neighborhood_tab.png" format="PNG" />
    </imageobject>
    <textobject>
      <phrase>Bookmarks tab of the plasmoid</phrase>
    </textobject>
  </mediaobject>
</screenshot>

<para>By clicking an entry you either enter the level below (&eg; clicking a workgroup or domain item will show a list of all hosts belonging to it), mount the selected share or invoke the print dialog. To go one level up again, you need to click the <guibutton>Up</guibutton> button in the toolbar.</para>

<para>For hosts and shares, to the right of the name of the network item some action buttons are arranged. For hosts, there is one button with that you can open the <link linkend="network_neighborhood_browser_custom">Custom Options</link> dialog. For shares, there is an additional button with that you can <link linkend="mainwindow_add_bookmarks">add the share to the bookmarks</link>. The action buttons are transparent by default and change to opaque when you move your mouse over them. By left clicking you initiate the respective action.</para>
 
<para>Besides the already mentioned <guibutton>Up</guibutton> button, the toolbar contains three more entries: <guibutton>Rescan</guibutton>, <guibutton>Abort</guibutton> and <guibutton>Mount Dialog</guibutton>. With them you can do a rescan, abort any running action or open the <link linkend="mainwindow_network_mounting">dialog for "manual" mounts</link>.</para>
</sect2>

<sect2 id="plasmoid_mounted_shares">
<title>Mounted Shares Tab</title>

<para>In the <guilabel>Mounted Shares</guilabel> tab all mounted shares are listed:</para>

<screenshot>
  <screeninfo>Screenshot of the plasmoid's mounted shares tab</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="plasmoid_mounted_shares_tab.png" format="PNG" />
    </imageobject>
    <textobject>
      <phrase>Bookmarks tab of the plasmoid</phrase>
    </textobject>
  </mediaobject>
</screenshot>

<para>Right to the name of the share and its host, two action buttons are arranged. The first one is for <link linkend="mainwindow_add_bookmarks">adding a bookmark</link> and the second for unmounting the shares. The action buttons are transparent by default and change to opaque when you move your mouse over them. By left clicking you initiate the respective action.</para>

<para>The toolbar only contains the <guibutton>Unmount All</guibutton> with that you can unmount all shares at once.</para>

</sect2>

<sect2 id="plasmoid_bookmarks">
<title>Bookmarks Tab</title>

<para>In the <guilabel>Bookmarks</guilabel> tab the bookmark groups and bookmarks are listed:</para>

<screenshot>
  <screeninfo>Screenshot of the plasmoid's bookmarks tab</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="plasmoid_bookmarks_tab.png" format="PNG" />
    </imageobject>
    <textobject>
      <phrase>Bookmarks tab of the plasmoid</phrase>
    </textobject>
  </mediaobject>
</screenshot>

<para>Bookmarked shares can be mounted by left clicking the respective bookmark. Bookmark groups can be entered the same way.</para>

<para>To edit or remove the bookmarks, you can press the <guibutton>Edit</guibutton> action button in the toolbar to open the <link linkend="mainwindow_bookmarks_editor">Bookmark Editor</link>. To get back to the toplevel the <guibutton>Back</guibutton> button is used.</para>

</sect2>
</sect1>

<!-- Remarks for FreeBSD users -->

<sect1 id="freebsd_remarks">
<title>Remarks for FreeBSD Users</title>

<sect2 id="freebsd_remarks_installation">
<title>DBUS and PolKit-1</title>
<para>&smb4k; makes use of the &kde; authorization API (KAuth) to enable mounting of remote shares. KAuth uses DBUS and PolKit-1 (or PolicyKit) for privilege escalation, so it is necessary that &smb4k; is set up properly. When installing &smb4k; under FreeBSD, it might be necessary to manually adjust some things to achieve this (With version 1.0.10 of package <application>kdehier4</application> this seems to be fixed!):</para>
<itemizedlist>
<listitem>
<para>Check that the file <filename>de.berlios.smb4k.mounthelper.policy</filename> exists in the directory <filename class="directory">/usr/local/share/polkit-1/actions/</filename>. If it is not present, you need to link (or copy) it to that location:
<screen><userinput><prompt>$</prompt> <command>cd</command> <filename class="directory">/usr/local/share/polkit-1/actions/</filename></userinput>
<userinput><prompt>$</prompt> <command>sudo ln</command> -s \
<filename>/usr/local/kde4/share/polkit-1/actions/de.berlios.smb4k.mounthelper.policy</filename> .</userinput></screen></para>
</listitem>
<listitem>
<para>The installation most likely put the DBUS files into the wrong location, so you have to link (or copy) them to the right one:
<screen><userinput><prompt>$</prompt> <command>cd</command> <filename class="directory">/usr/local/share/dbus-1/system-services</filename></userinput>
<userinput><prompt>$</prompt> <command>sudo ln</command> -s \
<filename>/usr/local/kde4/share/dbus-1/system-services/de.berlios.smb4k.mounthelper.service</filename> .</userinput></screen></para>
</listitem>
</itemizedlist>
</sect2>

<sect2 id="freebsd_remarks_mounting">
<title>Mounting</title>
<para>Under FreeBSD, the SMB protocol is implemented in a different way than with other *NIX operating systems, and, thus, mounting of remote shares works differently. The major difference is the way the logon information is passed during the mount process. While under &Linux; and other operating systems that use Samba's <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> program you may specify the user name and password within the command options or by setting the <envar>USER</envar> and <envar>PASSWD</envar> environment variables, under FreeBSD, all logon information is stored in the credentials file <filename>~/.nsmbrc</filename>. If the logon information is not available there, you will not be able to mount a password protected share.</para>
<para>&smb4k; writes new logon information to the credentials file on the fly, so that it can be used immediately. If you use a WINS server, this one and a few more global things will be considered, too. However, the information &smb4k; writes to <filename>~/.nsmbrc</filename> is limited: Only the name of the remote share, its workgroup, the login name (user name) and the encrypted password are provided. If you experience problems due to missing entries, you need to add them manually.</para>
</sect2>
</sect1>

</chapter>


<!-- Configuring Smb4K -->

<chapter id="configuration">
<title>Configuring &smb4k;</title>

<para>This section describes the settings that are available to configure &smb4k;. To open the configuration dialog, you have to click the <link linkend="mainwindow_overview"><guimenuitem>Configure &smb4k;...</guimenuitem></link> menu item.</para>

<!-- Configuration: User Interface -->

<sect1 id="configuration_user_interface">
<title>User Interface</title>

<para>With the options located here you can change the appearance and behavior of several dialogs and widgets. Please note that if you want to change the appearance of the main window you will find additional options under <guimenu>Settings</guimenu> in the <link linkend="mainwindow_overview">menubar</link>.</para>

<screenshot>
<screeninfo>Screenshot of the "User Interface" configuration tab</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="configuration_user_interface.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The "Appearance" configuration tab</phrase>
</textobject>
</mediaobject>
</screenshot>

<sect2 id="configuration_user_interface_general">
<title>General Settings</title>

<sect3 id="configuration_user_interface_general_notifications">
<title>Notifications</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show notifications</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The user is notified about actions that were performed, &ie; the mounting or unmounting of a share. If you do not want to be disturbed too often, you might want to switch this option off. Warnings and error messages are not affected by this option.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_user_interface_general_bookmarks">
<title>Bookmarks</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show custom bookmark label if available</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The custom description (label) of the bookmark is shown. It can be defined in the <link linkend="mainwindow_bookmarks_editor">bookmark editor</link>.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>

<sect2 id="configuration_user_interface_network">
<title>Network Neighborhood</title>

<sect3 id="configuration_user_interface_network_behavior">
<title>Behavior</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Automatically expand domains and hosts</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Automatically expand domain and host items when a list of associated network items (domain members or shares) is added or updated. Please note that a domain or host item will always be expanded when you execute it.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_user_interface_network_remote_shares">
<title>Remote Shares</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show printer shares</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Printer shares are shown.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show hidden shares</guibutton>
</menuchoice>
</term>
<listitem>
<para>
All hidden shares except those of type ADMIN$ and IPC$ are shown in the network browser.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show hidden IPC$ shares</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Hidden IPC$ shares are shown. This option can only be chosen if you also ticked the <guibutton>Show hidden shares</guibutton> check box.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show hidden ADMIN$ shares</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Hidden ADMIN$ shares are shown. This option can only be chosen if you also ticked the <guibutton>Show hidden shares</guibutton> check box.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_user_interface_network_columns">
<title>Columns</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show the type of the share</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The type of the shares is shown (i. e. Disk, Printer, or IPC).
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show the IP address of the server</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The IP address of the remote servers is shown.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show the comment</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The comment of a remote server or share is shown.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_user_interface_network_tooltips">
<title>Tooltips</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show a tooltip with information about the network item</guibutton>
</menuchoice>
</term>
<listitem>
<para>
A tooltip will be shown when you move the mouse pointer over an item in the network neighborhood browser. It contains information about the network item such as the workgroup or domain name, host name, comment, type, &etc;
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>

<sect2 id="configuration_user_interface_shares">
<title>Mounted Shares</title>
   
<sect3 id="configuration_user_interface_shares_view">
<title>View</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show mounted shares in an icon view</guibutton>
</menuchoice>
</term>
<listitem>
<para>
An icon view will be used to show the mounted shares.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show mounted shares in a list view</guibutton>
</menuchoice>
</term>
<listitem>
<para>
A list view will be used to show the mounted shares.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
<para>The following settings are specifically defined for the list view:</para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show the owner and group</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Show the UID and GID that owns the share in the list view.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show the login name</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Show the login name that was used for mounting. An entry will only be shown if the share was mounted with the CIFS file system. The column will be empty otherwise.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show the file system</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Show the file system that is used by the share.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show the free disk space</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Show the free disk space that is available on the share.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show the used disk space</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Show the disk space that is in use on the share.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show the total disk space</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Show the total disk space that the share offers.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show the disk usage</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Show the disk usage in percent.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_user_interface_shares_mounted_shares">
<title>Mounted Shares</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show the mount point instead of the share name</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The mount point is shown instead of the share name.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show all shares that are mounted on the system</guibutton>
</menuchoice>
</term>
<listitem>
<para>
<emphasis>All</emphasis> mounts that are using either the CIFS (&Linux;) or SMBFS (FreeBSD) file system are shown. By default, only the shares owned by you are displayed.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_user_interface_shares_tooltips">
<title>Tooltips</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Show a tooltip with information about the share</guibutton>
</menuchoice>
</term>
<listitem>
<para>
A tooltip will be shown if you move the mouse pointer over an item in the shares view. It contains information about the underlying item such as the share name, UNC address, mount point, owner and group, login (CIFS file system, &Linux; only), disk usage, &etc;
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>

<sect2 id="configuration_user_interface_preview">
<title>Preview Dialog</title>

<sect3 id="configuration_user_interface_preview_hidden">
<title>Hidden Files &amp; Directories</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Preview hidden files and directories</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Show all files and directories including the hidden ones when opening a share's contents in the preview dialog. By default, this feature is deselected.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>
</sect1>

<!-- Configuration: Network -->

<sect1 id="configuration_network">
<title>Network</title>

<para>The options in the <guilabel>Network</guilabel> configuration tab can be used to change the lookup method for the browse list, to make &smb4k; send authentication information when querying the workgroup master browsers, and to enable periodic scanning as well as the Wake-On-LAN features. If you want to adjust the behavior of Samba programs, see the <link linkend="configuration_samba">Samba</link> section.</para>

<screenshot>
<screeninfo>Screenshot of the "Network" configuration tab</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="configuration_network.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The "Network" configuration tab</phrase>
</textobject>
</mediaobject>
</screenshot>

<sect2 id="configuration_network_browselist">
<title>Browse List</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Scan the network neighborhood for available workgroups and domains</guibutton>
</menuchoice>
</term>
<listitem>
<para>
&smb4k; will search for all available master browsers on the network by using <ulink url="man:/nmblookup"><citerefentry><refentrytitle>nmblookup</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink>. This is the default method and it is very reliable in finding all workgroups and domains of your network neighborhood. However, it suffers a few shortcomings like poor unicode support (&eg; umlauts might be replaced by dots).
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Query the current workgroup master browser</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The current master browser of your workgroup or domain is looked up and queried for the browse list. If some of the workgroup names of your network neighborhood contain umlauts or other special characters, you might want to try this method, since unicode is supported. However, sometimes outdated workgroup master browsers might be returned.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Query this custom master browser</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The master browser entered in the text box will be queried to retrieve the browse list. It can be specified by using either its NetBIOS name or its IP address. This option might be of use if you have an uncommonly configured network neighborhood.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Scan these broadcast areas</guibutton>
</menuchoice>
</term>
<listitem>
<para>
&smb4k; will scan for and return all IP addresses that are registered within the given broadcast area(s). Please note that this is not a "real" IP address scan, because that would take ages. The broadcast areas have to be given in a comma-separated list and in the form x.y.z.255:
<screen>192.168.1.255, 192.168.2.255, 10.0.0.255</screen>
The IP address/mask pair (192.168.1.1/24) does not work.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2 id="configuration_network_master_authentication">
<title>Authentication</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>The master browsers require authentication to return the browse list</guibutton>
</menuchoice>
</term>
<listitem>
<para>
If the workgroup master browsers require authentication to return the browse list, you need to check this button. This may be the case for example with some NAS devices. This setting is rarely needed and might even cause a master browser to return an empty browse list. It will not have any effect when you let &smb4k; scan broadcast areas.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2 id="configuration_network_periodic_scanning">
<title>Periodic Scanning</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Scan the network neighborhood periodically</guibutton>
</menuchoice>
</term>
<listitem>
<para>
If you want to enable periodic scanning of the network neighborhood, you need to check this button. With this method, all available network items are looked up, &ie; workgroups and domains, servers and shares.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Interval between scans</guibutton>
</menuchoice>
</term>
<listitem>
<para>
If periodic scanning is enabled, this is the time in minutes that elapses until a new scan is triggered.
</para>
<para>Default: 5 min</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2 id="configuration_network_wake_on_lan">
<title>Wake-On-LAN</title>

<para>To be able to use the Wake-On_LAN capability of &smb4k;, you have to enable the setting in this section. The hosts that should to be woken up have to be defined through the <link linkend="configuration_custom_options">custom options dialog</link>.</para>

<variablelist>
  <varlistentry>
    <term>
      <menuchoice>
        <guibutton>Enable Wake-On-LAN features</guibutton>
      </menuchoice>
    </term>
    <listitem>
      <para>Enable Wake-on-LAN (WOL) features. Wake-On-LAN is an ethernet computer networking standard that allows a computer to be turned on or woken up by a network message. Smb4K uses a magic package send via a UDP socket to wake up remote servers. If you want to take advantage of the Wake-On-LAN feature, you need to enable this option.</para>
      <para>Default: not selected</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <guibutton>Waiting time</guibutton>
      </menuchoice>
    </term>
    <listitem>
      <para>This is the waiting time in seconds between the sending of the magic Wake-On-LAN packages and the scanning of the network neighborhood or the mounting of a share.</para>
      <para>Default: 5 s</para>
    </listitem>
  </varlistentry>
</variablelist>
</sect2>
</sect1>

<!-- Configuration: Shares -->

<sect1 id="configuration_shares">
<title>Shares</title>

<para>These options determine where &smb4k; will mount the remote shares and how it behaves on start-up and exit regarding mounted or recently used shares. If you want to configure the mount options, please see the <link linkend="configuration_samba">Samba</link> section.</para>

<screenshot>
<screeninfo>Screenshot of the "Shares" configuration tab</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="configuration_shares.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The "Shares" configuration tab</phrase>
</textobject>
</mediaobject>
</screenshot>

<sect2 id="configuration_shares_directories">
<title>Directories</title>

<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Mount prefix</guibutton>
</menuchoice>
</term>
<listitem>
<para>
This is the base folder (mount prefix) where &smb4k; will mount the remote shares. It can be changed by using the &URL; requester (Click the button with the folder icon.) or by directly entering the new path into the text box. Path variables like <envar>$HOME</envar> are recognized.
</para>
<para>
Default: <filename class="directory">$HOME/smb4k/</filename>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Force generated subdirectories to be lower case</guibutton>
</menuchoice>
</term>
<listitem>
<para>
All subdirectories that are created by &smb4k; below the mount prefix will be lower case.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2 id="configuration_shares_mounting">
<title>Mounting &amp; Unmounting</title>

<variablelist>
  <varlistentry>
    <term>
      <menuchoice><guibutton>Remount recently used shares on program start</guibutton></menuchoice>
    </term>
    <listitem>
      <para>All shares that were mounted at the time &smb4k; was shut down will be remounted on program restart. This option affects only the shares that were mounted by you.</para>
      <para>Default: not selected</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice><guilabel>Number of remount attempts</guilabel></menuchoice>
    </term>
    <listitem>
      <para>Set the number of attempts that are made to remount shares before Smb4K gives up.</para>
      <para>Default: 1</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice><guilabel>Interval between remount attempts</guilabel></menuchoice>
    </term>
    <listitem>
      <para>Set the time that elapses between attempts to remount shares.</para>
      <para>Default: 5 min</para>
    </listitem>
  </varlistentry>  
  <varlistentry>
    <term>
      <menuchoice><guibutton>Unmount all personal shares on exit</guibutton></menuchoice>
    </term>
    <listitem>
      <para>All mounted shares that are owned by you will be unmounted on program exit.</para>
      <para>Default: not selected</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice><guibutton>Force the unmounting of inaccessible shares</guibutton></menuchoice>
    </term>
    <listitem>
      <para>Force the unmounting of inaccessible shares (&Linux; only). In case a share is inaccessible, a lazy unmount is performed. Before the actual unmount is performed, a warning dialog is shown asking to approve the unmount.</para>
      <para>Default: not selected</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice><guibutton>Allow the unmounting of shares that are owned by other users</guibutton></menuchoice>
    </term>
    <listitem>
      <para>This option will allow you to unmount shares that were mounted by other users.</para>
      <para>USE WITH EXTREME CAUTION!</para>
      <para>Default: not selected</para>
    </listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="configuration_shares_checks">
<title>Checks</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Interval between checks</guibutton>
</menuchoice>
</term>
<listitem>
<para>&smb4k; periodically checks for newly mounted and inaccessable shares with an interval that can be defined here. Under normal circumstances, you do not need to change it. But if the server you connected to suffers from high load, you should increase the interval to ease it's situation. The effect on your system's load is generally rather small unless you set the interval below 1000 ms (not recommended).</para>
<para>Default: 2500 ms</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>

<!-- Configuration: Authentication -->

<sect1 id="configuration_authentication">
<title>Authentication</title>

<para>Here you can change the settings affecting the authentication.</para>

<screenshot>
<screeninfo>Screenshot of the "Authentication" configuration tab</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="configuration_authentication.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The "Authentication" configuration tab</phrase>
</textobject>
</mediaobject>
</screenshot>

<sect2 id="configuration_authentication_general">
<title>General Settings</title>
  
<sect3 id="configuration_authentication_general_storage">
<title>Password Storage</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Save logins in a wallet</guibutton>
</menuchoice>
</term>
<listitem>
<para>
  The login names and passwords are stored in a subfolder named <filename role="directory">Smb4K</filename> of the current network wallet (default: "kdewallet"). The advantage of this method is, that the authentication data is stored permanently and encrypted on your hard drive. You only have to provide it once and the next time it is needed, &smb4k; will read it from the wallet. If you uncheck this option, the authentication data will either be stored temporarily or not at all (see below).
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Remember logins during program run</guibutton>
</menuchoice>
</term>
<listitem>
<para>
If you do not want &smb4k; to store the authentication data in a wallet, you can decide whether it should be stored temporarily or not. If you uncheck this check box, &smb4k; will immediately forget the authentication data you provided and you will have to enter it everytime it is needed. This option has no effect if you chose to store the passwords in a wallet (see above).
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_authentication_general_default">
<title>Default Login</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Use a default login</guibutton>
</menuchoice>
</term>
<listitem>
<para>The default login is used by default to authenticate to a server. If you enable this feature, a password dialog pops up, where you can provide the default login information.</para>
<screenshot>
<screeninfo>Screenshot of the default login input dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="dialog_default_login.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The default login input dialog</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>You have to fill in at least the user name. Empty passwords are supported.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>

<sect2 id="configuration_authentication_wallet_entries">
<title>Wallet Entries</title>
<para>The <guilabel>Wallet Entries</guilabel> tab contains an editor with that you can modify or remove existing wallet entries.</para>
<screenshot>
<screeninfo>Screenshot of the wallet entries editor</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="configuration_wallet_entries.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The wallet entries editor</phrase>
</textobject>
</mediaobject>
</screenshot>
<para>Before you can edit the wallet entries, you have to load them from the wallet by pressing the <guibutton>Load</guibutton> button. The list of entries appears then on the left. An entry can be edited by selecting it and checking the <guibutton>Show details</guibutton> button. The details are then shown on the right and can be modified.</para>
<para>An entry can be removed by right clicking it and choosing the <guimenuitem>Remove</guimenuitem> item from the popup menu. All wallet entries may be removed at once by choosing the <guimenuitem>Clear List</guimenuitem> item.</para>
<para>Changes can be reset by choosing the <guimenuitem>Undo</guimenuitem> item from the popup menu either in the wallet entries list widget or in the details widget.</para>
<para>After you finished editing, the changes have to be committed to the wallet by pressing <guibutton>Save</guibutton>.</para>
</sect2>
</sect1>

<!-- Configuration: Samba -->

<sect1 id="configuration_samba">
<title>Samba</title>

<para>Here you can directly influence the command line arguments that are passed to the Samba programs and also manage the custom settings you defined for single shares. Please note, that the settings will have no effect outside &smb4k; and that no changes will be applied to the <filename>smb.conf</filename> configuration file. For further information, please refer to the manual pages of the Samba software suite.</para>

<screenshot>
<screeninfo>Screenshot of the "Samba" configuration page</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="configuration_samba.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The "Samba" configuration page</phrase>
</textobject>
</mediaobject>
</screenshot>

<sect2 id="configuration_samba_general">
<title>General Settings</title>
   
<sect3 id="configuration_samba_general_general">
<title>General Options</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>NetBIOS name</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Set the NetBIOS name of your computer. The text box should already be filled with the information found in the <filename>smb.conf</filename> configuration file or with the hostname of your computer. Under normal circumstances there is no need to change anything here.
</para>
<para>
Default: NetBIOS name defined in <filename>smb.conf</filename> or the hostname
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Domain</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Set the name of the domain/workgroup your computer is in. The text box should already be filled with the information found in the <filename>smb.conf</filename> configuration file. Under normal circumstances there is no need to change anything here.
</para>
<para>
Default: domain name defined in <filename>smb.conf</filename>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Socket options</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Set the TCP socket options. Please refer to the <ulink url="man:/smb.conf"><citerefentry><refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry></ulink> manual page to learn more.
</para>
<para>
Default: socket options defined in <filename>smb.conf</filename>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>NetBIOS scope</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Set the NetBIOS scope. It is recommended that you read the <ulink url="man:/smb.conf"><citerefentry><refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry></ulink> manual page before entering anything here.
</para>
<para>
Default: NetBIOS scope defined in <filename>smb.conf</filename>
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_samba_general_ports">
<title>Remote Ports</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>SMB port</guibutton>
</menuchoice>
</term>
<listitem>
<para>Sets the remote SMB port number that is used by <ulink url="man:/net"><citerefentry><refentrytitle>net</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> and <ulink url="man:/smbclient"><citerefentry><refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to communicate with a remote host. Under FreeBSD, this is also the port that is used for mounting.</para>
<para>Unless you are using a firewall or have a customized network setup, you do not need to change anything here.</para>
<para>
Default: 139
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>File system port</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Sets the file system port number that is used by <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> when mounting a remote share. The default port number (445) should work for all modern operating systems. If you experience problems, try setting the port number to 139. If the problems only occur with a few hosts, it is recommended not to set the port number here globally, but to use the <link linkend="network_neighborhood_browser_custom">Custom Options</link> dialog to define the port number individually for the problematic hosts.
</para>
<para>This option is only available under &Linux;. Under FreeBSD, the port for mounting shares is set with <guibutton>SMB port</guibutton>.</para>
<para>
Default: 445
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_samba_general_authentication">
<title>Authentication</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Try to authenticate with Kerberos</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Use Kerberos for authentication in an Active Directory environment.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Authenticate with local machine account</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Make queries to the remote server using the machine account of the local server.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Use Winbind ccache for authentication</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Try to use the credentials cached by Winbind.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_samba_general_security">
<title>Security</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Signing state</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Set the client signing state. This setting is used by <ulink url="man:/smbclient"><citerefentry><refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> and <ulink url="man:/smbtree"><citerefentry><refentrytitle>smbtree</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink>.
</para>
<para>
The following options are available:
</para>
<variablelist>
  <varlistentry>
    <term>
      <menuchoice>
	<guibutton>None</guibutton>
      </menuchoice>
    </term>
    <listitem>
      <para>Do not set the client signing state.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
	<guibutton>On</guibutton>
      </menuchoice>
    </term>
    <listitem>
      <para>Set the client signing state to <emphasis>on</emphasis>.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
	<guibutton>Off</guibutton>
      </menuchoice>
    </term>
    <listitem>
      <para>Set the client signing state to <emphasis>off</emphasis>.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
	<guibutton>Required</guibutton>
      </menuchoice>
    </term>
    <listitem>
      <para>Set the client signing state to <emphasis>required</emphasis>.</para>
    </listitem>
  </varlistentry>
</variablelist>
<para>
Default: None
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Encrypt SMB transport</guibutton>
</menuchoice>
</term>
<listitem>
<para>
This option requires the remote server to support the &UNIX; extensions. Request that the connection be encrypted. This is new for Samba 3.2 and will only work with Samba 3.2 or above servers. Fails the connection if encryption cannot be negotiated.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>

<sect2 id="configuration_samba_mounting">
<title>Mounting</title>   
   
<sect3 id="configuration_samba_mounting_common">
<title>Common Options</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>User ID</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Sets the owner of the files and directories on the file system. By default, your UID is used. To change the UID, press the search button and choose one from the drop down menu.
</para>
<para>
Default: your UID
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Group ID</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Sets the group that owns the files and directories on the file system. By default, your GID is used. To change the GID, press the search button and choose one from the drop down menu.
</para>
<para>
Default: your GID
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>File mask</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Sets the permissions that are applied to files. The value is given in octal and has to have 4 digits. To learn more about the file mask (fmask), you should read the <ulink url="man:/mount"><citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> and <ulink url="man:/umask"><citerefentry><refentrytitle>umask</refentrytitle><manvolnum>2</manvolnum></citerefentry></ulink> manual pages.
</para>
<para>
Default: 0755
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Directory mask</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Sets the permissions that are applied to directories. The value is given in octal and has to have 4 digits. To learn more about the folder mask (dmask), you should read the <ulink url="man:/mount"><citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> and <ulink url="man:/umask"><citerefentry><refentrytitle>umask</refentrytitle><manvolnum>2</manvolnum></citerefentry></ulink> manual pages.
</para>
<para>
Default: 0755
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Write access</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Here you can determine if the shares should be mounted <emphasis>read-write</emphasis> or <emphasis>read-only</emphasis> by default. This option is independent of the file mask and the folder mask settings above.
</para>
<para>
Default: read-write
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Client character set</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Sets the character set used by the client side (&ie; your computer).
</para>
<para>
Default: default
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Server codepage</guibutton>
</menuchoice>
</term>
<listitem>
<para>Sets the codepage the remote server uses.</para> 
<para>This option is only available under FreeBSD.</para>
<para>
Default: default
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_samba_mounting_advanced">
<title>Advanced Options</title>
<para><emphasis>(This widget is not available under FreeBSD.)</emphasis></para>
<para>Most of the options you can define here require &Linux; kernel 2.6.15 or later to work.</para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Do permission checks</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The client side checks if you have the correct UID and GID to manipulate files and directories on the share. This is in addition to the normal ACL check on the target machine done by the server software. You might want to switch this feature off, if the server(s) support the CIFS Unix extensions and you are, hence, not allowed to access the share.
</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Attempt to set UID and GID</guibutton>
</menuchoice>
</term>
<listitem>
<para>
If the CIFS Unix extensions are negotiated with the server the client side will attempt to set the effective UID and GID of the local process on newly created files, directories, and devices. If this feature is turned off, the default UID and GID defined for the share will be used. It is recommended that you read the manual page of <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> before you change this setting.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Use server inode numbers</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Use inode numbers (unique persistent file identifiers) returned by the server instead of automatically generating temporary inode numbers on the client side. This parameter has no effect if the server does not support returning inode numbers or similar. It is recommended that you read the manual page of <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> before you change this setting.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Do not cache inode data</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Do not do inode data caching on files opened on the share. In some cases this can provide better performance than the default behavior which caches reads and writes.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Translate reserved characters</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Translate six of the seven reserved characters (not backslash, but including the colon, question mark, pipe, asterisk, greater than and less than characters) to the remap range (above 0xF000), which also allows the client side to recognize files created with such characters by &Windows;’s POSIX emulation. This can also be useful when mounting to most versions of Samba. This has no effect if the server does not support Unicode.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Do not use locking</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Do not use locking. Do not start lockd.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Security mode</guibutton>
</menuchoice>
</term>
<listitem>
<para>Security mode. To be able to use this option, the CIFS kernel module 1.40 or later is needed.</para>
<para>The allowed values are:</para>
<variablelist>
  <varlistentry>
    <term>
      <menuchoice>
	<guibutton>Connect as a null user (no name)</guibutton>
      </menuchoice>
    </term>
    <listitem>
      <para>The <option>sec=none</option> command line argument is used. This causes <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> to attempt to connect as a null user (no name).</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
	<guibutton>Kerberos 5 authentication</guibutton>
      </menuchoice>
    </term>
    <listitem>
      <para>The <option>sec=krb5</option> command line argument is used. This causes <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> to use Kerberos version 5 authentication.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
	<guibutton>Kerberos 5 authentication and packet signing</guibutton>
      </menuchoice>
    </term>
    <listitem>
      <para>The <option>sec=krb5i</option> command line argument is used. This causes <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> to use Kerberos version 5 authentication and force packet signing.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
	<guibutton>NTLM protocol</guibutton>
      </menuchoice>
    </term>
    <listitem>
      <para>The <option>sec=ntlm</option> command line argument is used. This causes <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> to use NTLM password hashing. Up to &Linux; kernel version 3.8 this is the default setting.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
	<guibutton>NTLM protocol and packet signing</guibutton>
      </menuchoice>
    </term>
    <listitem>
      <para>The <option>sec=ntlmi</option> command line argument is used. This causes <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> to use NTLM password hashing and force packet signing.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
	<guibutton>NTLMv2 protocol</guibutton>
      </menuchoice>
    </term>
    <listitem>
      <para>The <option>sec=ntlmv2</option> command line argument is used. This causes <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> to use NTLMv2 password hashing.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
	<guibutton>NTLMv2 protocol and packet signing</guibutton>
      </menuchoice>
    </term>
    <listitem>
      <para>The <option>sec=ntlmv2i</option> command line argument is used. This causes <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> to use NTLMv2 password hashing and force packet signing.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <guibutton>NTLMSSP protocol</guibutton>
      </menuchoice>
    </term>
    <listitem>
      <para>The <option>sec=ntlmssp</option> command line argument is used. This causes <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> to use NTLMv2 password hashing encapsulated in a Raw NTLMSSP message. Since &Linux; kernel version 3.8 this is the default setting.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>
      <menuchoice>
        <guibutton>NTLMSSP protocol and packet signing</guibutton>
      </menuchoice>
    </term>
    <listitem>
      <para>The <option>sec=ntlmssp</option> command line argument is used. This causes <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> to use NTLMv2 password hashing encapsulated in a Raw NTLMSSP message and force packet signing.</para>
    </listitem>
  </varlistentry>
</variablelist>
<para>
Default: <guilabel>NTLMSSP protocol</guilabel>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Additional options</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Define additional options for use with <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink>. They have to be provided in a comma-separated list and should not include any options that were already defined in the configuration dialog because this could lead to unwanted side effects. The list is appended AS IS to the command line arguments. To find out about the arguments that can be used read the manual page of <ulink url="man:/mount.cifs"><citerefentry><refentrytitle>mount.cifs</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink>.
</para>
<para>
Default: empty
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>

<sect2 id="configuration_samba_utility_programs">
<title>Utility Programs</title>
  
<sect3 id="configuration_samba_utility_programs_net">
<title>net</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guilabel>Protocol hint</guilabel>
</menuchoice>
</term>
<listitem>
<para>
With these settings you can give &smb4k; a hint, which protocol should be used with the <ulink url="man:/net"><citerefentry><refentrytitle>net</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> command. Since for some actions not all protocols are available, your choice might be ignored for certain tasks.
</para>
<para>If only a few and not all servers need tweaking, you should consider to use the <link linkend="network_neighborhood_browser_custom">Custom Options</link> dialog to set the protocol hint and leave this option untouched.</para>
<para>
The following options are available:
</para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guilabel>Automatic detection</guilabel>
</menuchoice>
</term>
<listitem>
<para>The protocol will be determined automatically by the <ulink url="man:/net"><citerefentry><refentrytitle>net</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> command on run time. This is the default and in most cases you do not need to change it. However, sometimes connection problems occur because the <ulink url="man:/net"><citerefentry><refentrytitle>net</refentrytitle><manvolnum>8</manvolnum></citerefentry></ulink> program has problems negotiating the right protocol. In almost all cases this can be fixed by setting the protocol hint to the RPC protocol.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>RPC: Modern operating systems</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The RPC protocol is used by the modern &Windows; variants (2000/XP/2003) and by Samba.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>RAP: Older operating systems</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The RAP protocol is used by older &Windows; systems (95/98/Me). Its disadvantage is, that it does not support long share names. However, &smb4k; uses it as fallback.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>ADS: Active Directory environment (LDAP/Kerberos)</guibutton>
</menuchoice>
</term>
<listitem>
<para>
&smb4k; will try to use the ADS protocol if appropriate. Please note, that no command has been implemented yet that uses the ADS protocol, so this setting will have no effect for now.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
Default: Automatic detection
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_samba_utility_programs_nmblookup">
<title>nmblookup</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Broadcast address</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Send a query to the given broadcast address. Without this option the default behavior of nmblookup is to send the query to the broadcast address of the network interfaces as either auto-detected or defined in the <screen>interfaces = ...</screen> parameter of the <filename>smb.conf</filename> file.
</para>
<para>
Default: options defined in <filename>smb.conf</filename>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Try and bind to UDP port 137 to send and receive UDP datagrams</guibutton>
</menuchoice>
</term>
<listitem>
<para>
The reason for this option is a bug in Windows 95 where it ignores the source port of the requesting packet and only replies to UDP port 137. Under normal circumstances, you do not need to tick this check box. If you experience problems while scanning the network and you want to enable this option, read the manual page of <ulink url="man:/nmblookup"><citerefentry><refentrytitle>nmblookup</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> before.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_samba_utility_programs_smbclient">
<title>smbclient</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Name resolve order</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Determine what naming services and in what order are used to resolve host names to IP addresses. The option takes a space-separated string of different name resolution options. The options are: "lmhost", "host", "wins" and "bcast". For further information see the manual page of <ulink url="man:/smbclient"><citerefentry><refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink>.
</para>
<para>
Default: options defined in <filename>smb.conf</filename>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Buffer size</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Change the transmit/send buffer size when getting or putting a file from/to a remote server.
</para>
<para>
Default: 65520 Bytes
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_samba_utility_programs_smbtree">
<title>smbtree</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Send requests as broadcasts</guibutton>
</menuchoice>
</term>
<listitem>
<para>
Query network nodes by sending requests as broadcasts instead of querying the local master browser.
</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>
</sect1>

<!-- Configuration: Synchronization -->

<sect1 id="configuration_sync">
<title>Synchronization</title>

<para>This configuration page contains options that influence the behavior of the <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> command that is used to synchronize remote shares with local copies and vice versa. It is only available, if <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> is installed on your system. It is recommend, that you read the <ulink url="man:/rsync">manual page</ulink> before you use the synchronization feature the first time. However, safe settings are pre-defined. You will do no harm, if you start right away.</para>

<screenshot>
<screeninfo>Screenshot of the "Synchronization" configuration page</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="configuration_synchronization.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The "Synchronization" configuration page</phrase>
</textobject>
</mediaobject>
</screenshot>

<sect2 id="configuration_sync_copying">
<title>Copying</title>
   
<sect3 id="configuration_sync_copying_defdest">
<title>Default Destination</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Synchronization prefix</guibutton>
</menuchoice>
</term>
<listitem>
<para>This is the base folder below which &smb4k; stores the transferred data using <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink>. It can be changed by using the &URL; requester (Click the button with the folder icon.) or by directly entering the new path into the text box. Path variables like $HOME are recognized.</para>
<para>For each share you synchronize, a new subdirectory below this prefix will be generated. If you want to synchronize the contents of a share to a different folder, you can define it in the <link linkend="mainwindow_shares_synchronization">synchronization dialog</link>.</para>
<para>
Default: <filename class="directory">$HOME/smb4k_sync/</filename>
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_sync_copying_general">
<title>General</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Archive mode</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-a</option>/<option>--archive</option>, same as <option>-rlptgoD</option> (no <option>-H</option>)</para>
<para>Switch the archive mode on. This is a quick way of saying you want recursion and want to preserve almost everything. Note that <option>-a</option> does not preserve hardlinks, because finding multiply-linked files is expensive. You must separately specify  <option>-H</option>.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Recurse into subdirectories</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-r</option>/<option>--recursive</option></para>
<para>Recurse into subdirectories.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Update files</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-u</option>/<option>--update</option></para>
<para>This forces <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to skip any files that exist on the destination and have a modification time that is newer than the one of the source file. (If an existing destination file has a modification time equal to the source file's, it will be updated if the sizes are different.)</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Update files in place</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--inplace</option></para>
<para>This causes <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> not to create a new copy of the file and then move it into place. Instead <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> will overwrite the  existing file, meaning that the rsync algorithm cannot accomplish the full amount of network reduction it might be able to otherwise.  One exception to this is if you combine the option with <option>--backup</option>, since <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> is smart enough to use the backup file as the basis file for the transfer.</para>
<para>For further information you ought to read the <ulink url="man:/rsync">manual page</ulink>.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Use relative path names</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-R</option>/<option>--relative</option></para>
<para>Use relative path names. This means that the full path names specified on the command line are sent to the server rather than just the last parts of the file names.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Do not send implied directories</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--no-implied-dirs</option></para>
<para>This option affects the default behavior of the <option>--relative</option> option. When it is specified, the attributes of the implied directories from the source names are not included in the transfer. This means that the corresponding path elements on the destination system are left unchanged if  they  exist, and any missing implied directories are created with default attributes. This even allows these implied path elements to have big differences, such as being a symlink to a folder on one side of the transfer, and a real folder on the other side.</para>
<para>For further information you ought to read the <ulink url="man:/rsync">manual page</ulink>.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Transfer directories without recursing</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-d</option>/<option>--dirs</option></para>
<para>Tell the sending side to include any directories that are encountered. Unlike <option>--recursive</option>, a folders contents is not copied unless the folder name specified is "." or ends with a trailing slash (&eg; ".", "dir/.", "dir/", &etc;). Without this option or the <option>--recursive</option> option, <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> will skip all directories it encounters (and output a message to that effect for each one). If you specify both <option>--dirs</option> and <option>--recursive</option>, <option>--recursive</option> takes precedence.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Compress data during transfer</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-z</option>/<option>--compress</option></para>
<para>Compress file data during the transfer.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_sync_copying_links">
<title>Links</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Preserve symlinks</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-l</option>/<option>--links</option></para>
<para>Copy symlinks as symlinks.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Transform symlinks</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-L</option>/<option>--copy-links</option></para>
<para>When symlinks are encountered, the item that they point to is copied, rather than the symlink.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Only transform unsafe symlinks</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--copy-unsafe-links</option></para>
<para>Only transform "unsafe" symlinks. This means if a symlink is encountered that is pointing outside the copied tree, the referenced item is transferred rather than the symlink itself.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Ignore unsafe symlinks</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--safe-links</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to ignore any symbolic links which point outside the copied tree. All absolute symlinks are also ignored. Using this option in conjunction with <option>--relative</option> may give unexpected results.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Preserve hard links</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-H</option>/<option>--hard-links</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to look for hard-linked files in the transfer and link together the corresponding files on the receiving side. Without this option, hard-linked files in the transfer are treated as though they were separate files.</para>
<para>Note that <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> can only detect hard links if both parts of the link are in the list of files being sent.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Keep directory symlinks</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-K</option>/<option>--keep-dirlinks</option></para>
<para>This option causes the receiving side to treat a symlink to a directory as though it were a real directory, but only if it matches a real directory from the sender. Without this option, the receiver's symlink would be deleted and replaced with a real directory.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_sync_copying_perms">
<title>File Permissions, &etc;</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Preserve permissions</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-p</option>/<option>--perms</option></para>
<para>This option causes the receiving side to set the destination permissions to be the same as the source permissions.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Preserve group</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-g</option>/<option>--group</option></para>
<para>This option causes <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to set the group of the destination file to be the same as the on of the source file. If the receiving program is not running as the super-user (or with the <option>--no-super</option> option), only groups that the receiver is a member of will be preserved.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Preserve owner</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-o</option>/<option>--owner</option></para>
<para>This option causes <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to set the owner of the destination file to be the same as the source file. By default, the preservation is done by name, but may fall back to using the ID number in some circumstances (see the <option>--numeric-ids</option> option for a full discussion). This option has no effect if the receiving <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> is not run as the super user and <option>--super</option> is not specified.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Preserve device and special files</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-D</option>/<option>--devices --specials</option></para>
<para>This option causes <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to transfer character and block device files as well as special files (such as named sockets and fifos) to the remote system. This option has no effect if the receiving side is not run as the super user and <option>--super</option> is not specified.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Preserve times</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-t</option>/<option>--times</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to transfer modification times along with the files and update them on the remote system.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Omit directories when preserving times</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-O</option>/<option>--omit-dir-times</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to omit directories when it is preserving modification times (see <option>--times</option>).</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>

<sect2 id="configuration_sync_filedel">
<title>File Deletion &amp; Transfer</title>

<sect3 id="configuration_sync_filedel_filedel">
<title>File Deletion</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Remove synchronized source files</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--remove-source-files</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to remove from the sending side the files (meaning non-directories) that are a part of the transfer and have been successfully duplicated on the receiving side.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Delete extraneous files</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--delete</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to delete extraneous files from  the  receiving side (ones  that  aren't on the sending side), but only for the directories that are being synchronized.  You must have asked <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to send the whole folder (&eg; "<filename class="directory">dir</filename>" or "<filename class="directory">dir/</filename>") without using a wildcard for the folders contents (&eg; "<filename class="directory">dir/*</filename>") since the wildcard is expanded by the shell and <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> thus gets a request to transfer individual files, not the files' parent folder. Files that are excluded from transfer are also excluded from being deleted unless you use the <option>--
delete-excluded</option> option or mark the rules as only matching on the sending side.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Delete files before transfer</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--delete-before</option></para>
<para>Request that the file deletions on the receiving side be done before the transfer starts. This is the default if <option>--delete</option> or <option>--delete-excluded</option> is specified without one of the <option>--delete-WHEN</option> options.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Delete files after transfer</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--delete-after</option></para>
<para>Request that the file deletions on the receiving side be done after the transfer has completed.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Delete files during transfer</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--delete-during</option></para>
<para>Request that the file deletions on the receiving side be done incrementally as the transfer happens. This is a faster method than choosing the before- or after-transfer algorithm, but it is only supported beginning with <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> version 2.6.4.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Also delete excluded files</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--delete-excluded</option></para>
<para>In addition to deleting the files on the receiving side that are not on the sending side, this tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to also delete any files on the receiving side that are excluded (see <option>--exclude</option>).</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Delete even if I/O errors occur</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--ignore-errors</option></para>
<para>Tells <option>--delete</option> to go ahead and delete files even when there are I/O errors.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Force deletion of non-void directories</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--force</option></para>
<para>This option tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to delete a non-empty folder when it is to be replaced by a non-folder. This is only relevant if deletions are not active (see <option>--delete</option>).</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_sync_filedel_restrict">
<title>Restrictions</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Do not delete more than this many files</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--max-delete=NUM</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> not to delete more than NUM files or directories (NUM must be non-zero). This is useful when mirroring very large trees to prevent disasters.</para>
<para>
Default: not selected; NUM: 0
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_sync_filedel_transfer">
<title>File Transfer</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Do not transfer any file smaller than</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--min-size=NUM</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to avoid transferring any file that is smaller than the specified SIZE, which can help in not transferring small, junk files.</para>
<para>
Default: not selected; NUM: 0 kB
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Do not transfer any file larger than</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--max-size=NUM</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to avoid transferring any file that is larger than the specified SIZE.</para>
<para>
Default: not selected; NUM: 0 kB
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Keep partially transferred files</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--partial</option></para>
<para>By default, <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> will delete any partially transferred file if the transfer is interrupted. In some circumstances it is more desirable to keep partially transferred files. Using the <option>--partial</option> option tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to keep the partial file which should make a subsequent transfer of the rest of the file much faster.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Put partially transferred files into</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--partial-dir=DIR</option></para>
<para>A better way to keep partial files than the <option>--partial</option> option is to specify a folder DIR that will be used to hold the partial data (instead of writing it out to the  destination file). On the next transfer, <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> will use a file found in this folder as data to speed up the resumption of the transfer and then delete it after it has served its purpose. Before you tick this option, you should read the <ulink url="man:/rsync">manual page</ulink>.</para>
<para>
Default: not selected; DIR: <filename class="directory">$HOME</filename>
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>

<sect2 id="configuration_sync_filter">
<title>Filtering</title>   

<sect3 id="configuration_sync_filter_general">
<title>General</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Auto-ignore files in the same way CVS does</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-C</option>/<option>--cvs-exclude</option></para>
<para>This is a useful shorthand for excluding a broad range of files that you often don't want to transfer between systems. It uses the same algorithm that CVS uses to determine if a file should be ignored.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Exclude files matching this pattern</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--exclude=PATTERN</option></para>
<para>This  option is a simplified form of the <option>--filter</option> option that defaults to an exclude rule and does not allow the full rule-parsing syntax of normal filter rules.</para>
<para>
Default: not selected; PATTERN: empty
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Read exclude patterns from</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--exclude-from=FILE</option></para>
<para>This option is related to the <option>--exclude</option> option, but it specifies a FILE that contains exclude patterns (one per line). Blank lines in the file  and lines starting with ';' or '#' are ignored. You have to choose an existing file to make this option work.</para>
<para>
Default: not selected; FILE: <filename>$HOME/exclude.txt</filename>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Do not exclude files matching this pattern</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--include=PATTERN</option></para>
<para>This option is a simplified form of the <option>--filter</option> option that defaults to an include rule and does not allow the full rule-parsing syntax of normal filter rules.</para>
<para>
Default: not selected; PATTERN: empty
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Read include patterns from</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--include-from=FILE</option></para>
<para>This option is related to the <option>--include</option> option, but it specifies a FILE that contains include patterns (one  per  line). Blank lines in the file and lines starting with ';' or '#' are ignored. You have to choose an existing file to make this option work.</para>
<para>
Default: not selected; FILE: <filename>$HOME/include.txt</filename>
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_sync_filter_rules">
<title>Filter Rules</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Custom filter rules</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-f</option>/<option>--filter=RULE</option></para>
<para>You can define one or more filter rules here. Each rule has to be prefixed with the <option>--filter=</option> or <option>-f</option> option string, because the contents of the text box will be passed to the <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> command AS IS.</para>
<para>This option allows you to add rules to selectively exclude  certain  files  from  the  list of files to be transferred. This is most useful in combination with a recursive transfer.</para>
<para>You may use as many <option>--filter</option> options as you like to build up the list of files to exclude.</para>
<para>See  the  FILTER  RULES section of the <ulink url="man:/rsync">manual page</ulink> for detailed information on this option.</para>
<para>
Default: empty
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Use --filter='dir-merge /.rsync-filter' filter rule</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-F</option></para>
<para>This option tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to look for per-folder <filename>.rsync-filter</filename> files that have been sprinkled through the hierarchy and use their rules to filter the files in the transfer.</para>
<para>See the FILTER RULES section of the <ulink url="man:/rsync">manual page</ulink> for detailed information on how this option works.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Use --filter='exclude .rsync-filter' filter rule</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-FF</option></para>
<para>This option filters out the <filename>.rsync-filter</filename> files themselves from the transfer.</para>
<para>See the FILTER RULES section of the <ulink url="man:/rsync">manual page</ulink> for detailed information on how this option works.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>

<sect2 id="configuration_sync_advanced">
<title>Advanced Settings</title>

<sect3 id="configuration_sync_advanced_general">
<title>General</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Handle sparse files efficiently</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-S</option>/<option>--sparse</option></para>
<para>Try to handle sparse files efficiently so they take up less space on the destination. Conflicts with <option>--inplace</option> because it's not possible to overwrite data in a sparse fashion.</para>
<note><para>Do not use this option when the destination is a &Solaris; "tmpfs" file system. It doesn't seem to handle seeks over null regions correctly and ends up corrupting the files.</para></note>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Copy files whole (no rsync algorithm)</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-W</option>/<option>--whole-file</option></para>
<para>With this option the incremental <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> algorithm is not used and the whole file is sent as-is instead. The transfer may be faster if this option is used when the bandwidth between the source and destination machines is higher than the bandwidth to disk (especially when the "disk" is actually a networked file system). This is the default when both the source and destination are specified as local paths.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Do not cross file system boundaries</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-x</option>/<option>--one-file-system</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to avoid crossing a file system boundary when recursing. This does not limit the user's ability to specify items to copy from multiple file systems, just <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink>'s recursion through the hierarchy of each folder that the user specified, and also the analogous recursion on the receiving side during deletion. Also keep in mind that <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> treats a "bind" mount to the same device as being on the same file system.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Only update files that already exist</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--existing</option>/<option>--ignore-non-existing</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to skip updating files that do not exist yet on the destination. If this option is combined with the <option>--ignore-existing</option> option, no files will be updated (which can be useful if all you want to do is to delete missing files).</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Ignore files that already exist</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--ignore-existing</option></para>
<para>This tells <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> to skip updating files that already exist on the destination. See also <option>--ignore-non-existing</option>.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Delay updates until the end of transfer</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--delay-updates</option></para>
<para>This option puts the temporary file from each updated file into a holding folder until the end of the transfer, at which time all the files are renamed into place in rapid succession.</para>
<para>It is strongly recommended that you read the <ulink url="man:/rsync">manual page</ulink> before using this option.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_sync_advanced_backup">
<title>Backup</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Make backups</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-b</option>/<option>--backups</option></para>
<para>With this option, preexisting destination files are renamed as each file is transferred or deleted. You can control where the backup file goes and what (if any) suffix gets appended using the <option>--backup-dir</option> and <option>--suffix</option> options.</para>
<para>Note that if you don't specify <option>--backup-dir</option>, (1) the <option>--omit-dir-times</option> option will be implied, and (2) if <option>--delete</option> is also in effect (without <option>--delete-excluded</option>),  <ulink url="man:/rsync"><citerefentry><refentrytitle>rsync</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink> will add a "protect" filter-rule for the backup suffix to the end of all your existing excludes (&eg; <option>-f "P *~"</option>). This will prevent previously backed-up files from being deleted. Note that if you are supplying your own filter rules, you may  need  to  manually insert your own exclude/protect rule somewhere higher up in the list so that it has a high enough priority to be effective (&eg;, if  your rules specify a trailing inclusion/exclusion of '*', the auto-added rule would never be reached).</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Backup suffix</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--suffix=SUFFIX</option></para>
<para>This  option  allows  you  to override the default backup suffix used with the <option>--backup</option> option. The default suffix is a <emphasis>~</emphasis> if no <option>--backup-dir</option> was specified, otherwise it is an empty string.</para>
<para>This option is only available if you ticked the <guilabel>Make backups</guilabel> option above.</para>
<para>
Default: not selected; SUFFIX: ~
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Backup directory</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--backup-dir=DIR</option></para>
<para>In combination with the <option>--backup</option> option, this tells rsync to store all backups in the specified folder. This is very useful for incremental backups. You can additionally specify a backup suffix using the <option>--suffix</option> option (otherwise the files backed up in the specified folder will keep  their original filenames).</para>
<para>This option is only available if you ticked the <guilabel>Make backups</guilabel> option above.</para>
<para>
Default: not selected; DIR: <envar>$HOME</envar>
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="configuration_sync_advanced_checksums">
<title>Checksums</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Force fixed checksum block size</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-B</option>/<option>--block-size=SIZE</option></para>
<para>This forces the block size used in the rsync algorithm to a fixed value. It is normally selected based on the size of each file being updated. See the <ulink url="http://rsync.samba.org/tech_report/">technical report</ulink> for details.</para>
<para>
Default: not selected; SIZE: 0
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Set block/file checksum seed</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>--checksum-seed=NUM</option></para>
<para>Set the MD4 checksum seed to the integer NUM. This 4 byte checksum seed is included in each block and file MD4 checksum calculation. By default the checksum seed is generated by the server and defaults to the current time(). This option is used to set a specific checksum seed, which is useful for applications that want repeatable block and file checksums, or in the case where the user wants a more random checksum seed. Note that setting NUM to 0 causes rsync to use the default of  time() for checksum seed.</para>
<para>
Default: not selected; NUM: 0
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Skip files based on checksum</guibutton>
</menuchoice>
</term>
<listitem>
<para>Option: <option>-c</option>/<option>--checksum</option></para>
<para>This forces the sender to checksum every regular file using a 128-bit MD4 checksum. It does this during the initial file system scan as it builds the list of all available files. The receiver then checksums its version of each file (if it exists and  it  has  the  same  size as its sender-side counterpart) in order to decide which files  need  to  be  updated: files with either a changed size or a changed checksum are selected for transfer. Since this whole-file checksumming of  all files on both sides of the connection occurs in addition to the automatic checksum verifications that occur during a file's transfer, this option can be quite slow.</para>
<para>
Default: not selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>
</sect1>


<!-- Configuration: Laptop Support -->

<sect1 id="configuration_laptop_support">
<title>Laptop Support</title>

<para>The settings on this page influence the way &smb4k; behaves when used on a laptop. Primarily, they make sure that the application runs smoothly even after a suspension/hibernation and during or after a network disconnection. But you can also define the behavior when the laptop is powered off without prior log-off.</para>
  
<para>Please note that &smb4k; is only able to detect changes in state of the hardware through the <ulink url="http://solid.kde.org">Solid</ulink> hardware device framework. So, it might be necessary that you unmount all shares manually if you initiate a software suspend/hibernation. Have also a look at the options defined on the <link linkend="configuration_shares">Shares</link> configuration page under <link linkend="configuration_shares_mounting">Mounting &amp; Unmounting</link>.</para>

<sect2 id="configuration_laptop_support_hardware">
<title>Hardware</title>
<screenshot>
<screeninfo>Screenshot of the "Laptop Support" configuration page</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="configuration_laptop_support.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The "Laptop Support" configuration page</phrase>
</textobject>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term>
<menuchoice>
<guibutton>Unmount all shares when the sleep button is pressed</guibutton>
</menuchoice>
</term>
<listitem>
<para>All shares owned by you are unmounted when the sleep button is pressed and your laptop is about to suspend or hibernate. After the operating system woke up again, the shares are remounted.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Unmount all shares when the lid is closed</guibutton>
</menuchoice>
</term>
<listitem>
<para>All shares owned by you are unmounted when the lid is closed and your laptop is about to suspend or hibernate. After the operating system woke up again, the shares are remounted.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Unmount all shares when the power button is pressed</guibutton>
</menuchoice>
</term>
<listitem>
<para>All shares owned by you are unmounted when the power button is pressed and your laptop is about to power off. On the next program run, the shares are remounted.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guibutton>Unmount all shares when the network is disconnected</guibutton>
</menuchoice>
</term>
<listitem>
<para>All shares owned by you are unmounted when the network gets disconnected. After the connection was established again, the shares are remounted.</para>
<para>
Default: selected
</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>


<!-- Configuration: Custom Options -->

<sect1 id="configuration_custom_options">
<title>Custom Options</title>
<para>All servers and shares for which you defined custom options are listed here.</para>

<screenshot>
  <screeninfo>Screenshot of the "Custom Options" configuration tab</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configuration_custom_options.png" format="PNG" />
    </imageobject>
    <textobject>
      <phrase>The "Custom Options" configuration tab</phrase>
    </textobject>
  </mediaobject>
</screenshot>

<para>The options defined for a network item can be edited by either double clicking an entry in the list view or by choosing the <guimenuitem>Edit</guimenuitem> item from the popup menu (right click on the selected item). The custom options are then being loaded and can be edited. To remove an entry, right click it and choose the <guimenuitem>Remove</guimenuitem> item from the popup menu. All network items may be removed at once by choosing the <guimenuitem>Clear List</guimenuitem> item. Changes can be reset by choosing the <guimenuitem>Undo</guimenuitem> item from the popup menu.</para>

<para>The custom options are accessible through the editor widgets on the right. In the <guilabel>General</guilabel> section the UNC address of the network item and its editable IP address are shown. Also, you can define whether the share should be remounted. Below, the custom options are arranged in two tabs:</para>

<sect2 id="configuration_custom_options_samba">
  <title>Samba</title>
  
  <para>You can edit various Samba settings here. Which ones are available depends on the operating system you are using. For more information, have a look at the description of the <link linkend="configuration_samba">Samba</link> configuration page.</para>
</sect2>

<sect2 id="configuration_custom_options_wol">
  <title>Wake-On-LAN</title>
  
  <para>Here you can edit the options that you previously defined through the <link linkend="network_neighborhood_browser_custom">Custom Options</link> dialog.</para>
</sect2>

</sect1>
</chapter>

<!-- Command Reference -->

<chapter id="commands" >
<title>Command Reference</title>

<sect1 id="menu_items">
<title>Menu Items</title>

<sect2 id="file_menu">
<title>The File Menu</title>
<para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul" >
&Ctrl; <keycap>Q</keycap>
</keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Quit</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
Quit &smb4k;.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect2>

<sect2 id="network_menu">
<title>The Network Menu</title>
<para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycap>F5</keycap>
</shortcut>
<guimenu>Network</guimenu>
<guimenuitem>Scan Network|Workgroup|Computer</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
(Re-)scan the network neighborhood, a workgroup, or a computer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>A</keycap>
</keycombo>
</shortcut>
<guimenu>Network</guimenu>
<guimenuitem>Abort</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Abort the scanning for new workgroups/domains, servers or shares.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>O</keycap>
</keycombo>
</shortcut>
<guimenu>Network</guimenu>
<guimenuitem>Open Mount Dialog</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open the dialog to "manually" mount a remote share.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>T</keycap>
</keycombo>
</shortcut>
<guimenu>Network</guimenu>
<guimenuitem>Authentication</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open the authentication dialog where you can enter login information.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>C</keycap>
</keycombo>
</shortcut>
<guimenu>Network</guimenu>
<guimenuitem>Custom Options</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open a dialog where you can define custom options for a server or share.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>V</keycap>
</keycombo>
</shortcut>
<guimenu>Network</guimenu>
<guimenuitem>Preview</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open the preview dialog that contains a preview of the contents of the selected share.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>P</keycap>
</keycombo>
</shortcut>
<guimenu>Network</guimenu>
<guimenuitem>Print File</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open the print dialog.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>M</keycap>
</keycombo>
</shortcut>
<guimenu>Network</guimenu>
<guimenuitem>Mount</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Mount the selected remote share.</action>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect2>

<sect2 id="search_menu">
<title>The Search Menu</title>
<para>
  <variablelist>
    <varlistentry>
      <term>
	<menuchoice>
	  <shortcut>
	    <keycombo action="simul">
	      &Ctrl; <keycap>S</keycap>
	    </keycombo>
	  </shortcut>
	  <guimenu>Search</guimenu>
	  <guimenuitem>Search</guimenuitem>
	</menuchoice>
      </term>
      <listitem>
	<para>
	  <action>Search the network for the entered search string.</action>
	</para>
      </listitem>
    </varlistentry>
    <varlistentry>
      <term>
	<menuchoice>
	  <shortcut>
	    <keycombo action="simul">
	      &Ctrl; <keycap>A</keycap>
	    </keycombo>
	  </shortcut>
	  <guimenu>Search</guimenu>
	  <guimenuitem>Abort</guimenuitem>
	</menuchoice>
      </term>
      <listitem>
	<para>
	  <action>Abort the network search.</action>
	</para>
      </listitem>
    </varlistentry>
    <varlistentry>
      <term>
	<menuchoice>
	  <guimenu>Search</guimenu>
	  <guimenuitem>Clear</guimenuitem>
	</menuchoice>
      </term>
      <listitem>
	<para>
	  <action>Clear the network search widget, &ie; the combo box, the history and the list view.</action>
	</para>
      </listitem>
    </varlistentry>
    <varlistentry>
      <term>
	<menuchoice>
	  <shortcut>
	    <keycombo action="simul">
	      &Ctrl; <keycap>D</keycap>
	    </keycombo>
	  </shortcut>
	  <guimenu>Search</guimenu>
	  <guimenuitem>Mount</guimenuitem>
	</menuchoice>
      </term>
      <listitem>
	<para>
	  <action>Mount the selected share.</action>
	</para>
      </listitem>
    </varlistentry>
  </variablelist>
</para>
</sect2> 

<sect2 id="shares_menu">
<title>The Shares Menu</title>
<para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>U</keycap>
</keycombo>
</shortcut>
<guimenu>Shares</guimenu>
<guimenuitem>Unmount</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Unmount the selected share.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>N</keycap>
</keycombo>
</shortcut>
<guimenu>Shares</guimenu>
<guimenuitem>Unmount All</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Unmount all of the mounted shares at once. In the default configuration this is restricted to the user's shares, but this can be altered in the <link linkend="configuration_shares_mounting">configuration dialog</link>. For further information read the <link linkend="mainwindow_shares_unmounting">Unmounting Shares</link> section.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>Y</keycap>
</keycombo>
</shortcut>
<guimenu>Shares</guimenu>
<guimenuitem>Synchronize</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Initiate a synchronization.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>L</keycap>
</keycombo>
</shortcut>
<guimenu>Shares</guimenu>
<guimenuitem>Open with Konsole</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open the base folder of the selected share in &konsole;.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>I</keycap>
</keycombo>
</shortcut>
<guimenu>Shares</guimenu>
<guimenuitem>Open with File Manager</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open the contents of the selected share in the default file manager (&eg; &dolphin;).</action>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect2>

<sect2 id="bookmarks_menu">
<title>The Bookmarks Menu</title>
<para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guimenu>Bookmarks</guimenu>
<guimenuitem>Edit Bookmarks</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open the bookmark editor.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">
&Ctrl; <keycap>B</keycap>
</keycombo>
</shortcut>
<guimenu>Bookmarks</guimenu>
<guimenuitem>Add Bookmark</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Add the selected share to the bookmarks.</action>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect2>

<sect2 id="settings_menu">
<title>The Settings Menu</title>
<para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Toolbars Shown</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>In this submenu you can enable or disable the toolbars.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show Statusbar</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Hide or show the status bar.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Dock Widgets</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Hide or show the dock widgets in the main window.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Shares View</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Select between the shares icon and list view.</action>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure &smb4k;...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open the configuration dialog.</action>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect2>

<sect2 id="help-menu">
<title>The Help Menu</title>
<para>Additionally &smb4k; has the common &kde; <guimenu>Help</guimenu>
menu items, for more information read the section about the 
<ulink url="help:/fundamentals/ui.html#menus-help">Help Menu</ulink>
of the &kde; Fundamentals.</para>
</sect2>

</sect1>

</chapter>

<!-- Reporting bugs -->

<chapter id="reporting_bugs">
<title>Reporting Bugs</title>

<para>Before filing a bug report, please read our <ulink url="https://sourceforge.net/p/smb4k/wiki/Home/">wiki</ulink>. Many common problems are already covered there. Also, try the <ulink url="https://sourceforge.net/projects/smb4k/files/">latest version</ulink> of &smb4k;. Maybe your problem has already been fixed.</para>
<para>Follow these directions for your bug report:</para>
<itemizedlist>
<listitem><para>Describe <emphasis>in detail</emphasis> what you did to receive the problem you are reporting.</para></listitem>
<listitem><para>Provide the version of &smb4k; and &kde;.</para></listitem>
<listitem><para>Mention your operating system (&Linux;, FreeBSD, &etc;) and the distribution that is running on your computer.</para></listitem>
<listitem><para>Include the full error message if an error dialog was displayed.</para></listitem>
<listitem><para>Add additional data, &ie; attach the backtrace if you experienced a crash, send a screen shot if you are reporting a &GUI; related problem, &etc;</para></listitem>
</itemizedlist>
<para>The recommended method to report a bug is to go to our <ulink url="https://sourceforge.net/p/smb4k/tickets/">bug tracking system</ulink> and fill out the form. But you can also use the dialog that opens when you click the <menuchoice><guimenu>Help</guimenu><guimenuitem>Report Bug...</guimenuitem></menuchoice> menu item.</para>
</chapter>


<!-- Credits and License -->

<chapter id="credits" >
<title>Credits and License</title>

<para>Copyright &copy; 2003 - 2014, Alexander Reinholdt <email>alexander.reinholdt@kdemail.net</email></para>

<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
&underFDL;
&underGPL;

<simplesect>
<title>Developers</title>
<itemizedlist>
<listitem><para>Alexander Reinholdt <email>alexander.reinholdt@kdemail.net</email></para></listitem>
</itemizedlist>
</simplesect>

<simplesect>
<title>Translations</title>
<para>Translations were contributed by the &kde; translators.</para>
</simplesect>

<simplesect>
<title>Special Thanks</title>
<para>The &smb4k; team would like to thank everyone who contributed by sending patches. Also, a big "Thank you!" goes to Rashid N. Achilov <email>shelton@sentry.granch.ru</email>, who convinced us to port &smb4k; to FreeBSD and helped us a great deal to achieve this goal.</para>
</simplesect>
</chapter>


<!-- Appendix -->

<appendix id="appendix_installation" >
<title>Installation</title>

<sect1 id="appendix_getting_smb4k" >
<title>How to obtain &smb4k;</title>
<para>The latest stable release is available at <ulink url="http://sourceforge.net/projects/smb4k/files/">http://sourceforge.net/projects/smb4k/files/</ulink>.</para>
</sect1>

<sect1 id="appendix_requirements" >
<title>Requirements</title>

<para>&smb4k; officially supports &Linux; (>= 2.2.x) and FreeBSD (>= 4.10). It might also run on other Unix systems.</para>
<para>If you want to compile &smb4k; from source, you need to have the kdelibs (including header files) and kdebase-runtime modules of the &kde; SC 4.4 or later installed. Additionally, &Qt; version 4.7 or later is required.</para>
<para>In order to use &smb4k; successfully, you have to install the Samba software suite (3.x, 3.4 or later recommended), &GNU; grep, &GNU; awk or similar, &GNU; sed and the &GNU; findutils. If you are using &Linux;, you also need support of the <filename class="directory">/proc</filename> file system compiled into your kernel.</para>
<para>To enable full functionality, you should also install rsync.</para>
<para>&smb4k; uses about 20 MB of memory to run, but this may vary depending on your platform and configuration.</para>
<para>Links to all required libraries and programs as well as &smb4k; itself can be found on <ulink url="http://smb4k.sourceforge.net" >the &smb4k; home page</ulink>.</para>
<para>The list of changes can be found in the <filename>ChangeLog</filename> file.</para>
</sect1>

<sect1 id="appendix_compilation" >
<title>Compilation and Installation</title>
<para>This section describes the configuration, compilation and installation of &smb4k;.</para>
<orderedlist>
<listitem><para>Unpack the downloaded source tarball: <screen><prompt>$</prompt> <userinput><command>tar</command> -xvfj smb4k-x.x.x.tar.bz2</userinput></screen> (Replace x.x.x with the version number)</para></listitem>
<listitem><para>Create a build directory: 
<screen><prompt>$</prompt> <userinput><command>cd</command> smb4k-x.x.x</userinput>
<prompt>$</prompt> <userinput><command>mkdir</command> build</userinput>
</screen> (The build directory can have any name you want.)</para></listitem>
<listitem><para>Change into the build directory: <screen><prompt>$</prompt> <userinput><command>cd</command> build</userinput></screen></para></listitem>
<listitem><para>Configure the source code with at least the following command: 
<screen><prompt>$</prompt> <userinput><command>cmake</command> -DCMAKE_INSTALL_PREFIX=`<command>kde4-config</command> --prefix` -DCMAKE_BUILD_TYPE=Release ..</userinput></screen> 
If you also want to install &smb4k;'s core header files, add the <option>-DINSTALL_HEADER_FILES=true</option> to the command line. Several more options can be added. Read the <ulink url="http://www.cmake.org/HTML/Documentation.html">cmake documentation</ulink> for more information.</para></listitem>
<listitem><para>Compile the source code: <screen><prompt>$</prompt> <userinput><command>make</command></userinput></screen></para></listitem>
<listitem><para>Install the application. Run <screen><prompt>$</prompt> <userinput><command>sudo</command> <command>make</command> install</userinput></screen> in the <filename class="directory">build</filename> directory. If you want to be able to remove &smb4k; with your package manager, install the <application>checkinstall</application> package and run <screen><prompt>$</prompt> <userinput><command>sudo</command> <command>checkinstall</command></userinput></screen> instead.</para></listitem>
</orderedlist>
</sect1>

<sect1 id="appendix_debugging">
<title>Debugging the Source Code</title>
<para>If you experience crashes or similar and want to debug the source code yourself, compile it with debugging symbols. The procedure is similar to the one described in the <link linkend="appendix_compilation">Compilation and Installation</link> section except that you need to modify the cmake command slightly:</para>
<screen><prompt>$</prompt> <userinput><command>cmake</command> -DCMAKE_INSTALL_PREFIX=`<command>kde4-config</command> --prefix` -DCMAKE_BUILD_TYPE=Debug ..</userinput></screen>
<para>Now compile and install the program as stated <link linkend="appendix_compilation">before</link>. If you do not want to
install but only debug the newly compiled program, you may execute &smb4k; from
within the source code directory. Change into the <filename role="directory">smb4k</filename> subdirectory and run:</para>
<screen><prompt>$</prompt> <userinput><command>./smb4k</command> --nofork</userinput></screen>
<para>If you found the cause for a bug, please let us know. A backtrace or a patch will be much appreciated.</para>
</sect1>
</appendix>

</book>
