<chapter label="8" id="usage-customization">
<title>Customization</title>
 <sect1 id="prefs">
 <title>Customization</title>
 <para>
  <application>Dia</application> can be changed in a few ways, allowing the
  user to make <application>Dia</application> fit more to their needs.
 </para>
 <para>
  To change the behavior settings, select
  <menuchoice>
   <guimenu>File</guimenu> <guimenuitem>Preferences...</guimenuitem>
   </menuchoice> from the <interface>Toolbox Menu Bar</interface>.  
   This opens the    <interface>Preferences</interface> dialog  
   <!-- , shown in  [TODO: add
   screenshot].--> <!-- <xref linkend="preferences-fig">. -->
 </para>
 <para>
  The configurable properties in the <guilabel>User Interface</guilabel> tab
  are:
  <itemizedlist>
   <listitem>
    <para>
     Reset tools after create.  
     If this button is checked then the buttons in the Toolbox will reset 
     to the Modify Tool after being used once.  If the button is not checked 
     then the current tool will stick until another tool is chosen, 
     which is useful if you want to draw lots many shapes using the same tool
     over and over again.  
    </para>
   </listitem>
   <listitem>
    <para>
      Compress saved files, provides the option to have Dia XML files 
      compressed into much smaller files using gzip or to leave the Dia XML 
      files as plain text so that they can be more easily edited using other
      software.  
    </para>
   </listitem>
   <listitem>
    <para>
      Reverse dragging selects intersecting objects, means that you can create 
      selections that only need to cover part of the object you want to select 
      whereas normally you need to create a selection around the whole of the 
      object you want to select.  
      Reverse dragging means creating a selection by dragging up and to the 
      left from the point you started your selection, as opposed to creating a 
      selection by dragging down and to the right.  
      This can be useful if you want to make very precise selections where 
      there are many objects on the canvas.  
    </para>
   </listitem>
   <listitem>
    <para>
      Number of undo levels customizes how many steps that the undo tool
      remembers.  Higher numbers let the user go back more steps to fix an
      error, but take up more memory.  
      Setting the undo level to zero does not turn off undo, it gives infinite 
      undo (which means it uses as much of the available computer memory as 
      possible).   
    </para>
   </listitem>
   <!-- The description of Recent Documents is deliberately vague so that it 
   will still make some sense if a submenu for Recent items is added. -->
   <listitem>
    <para>
      Recent Documents list size allows you to set how many items will be shown 
      in the Recent Documents section of the <guimenu>File</guimenu> menu.  
    </para>
   </listitem>
   <listitem>
    <para>
      Use menu bar allows you to have a menu bar at the top of each Diagram 
      window instead needing to right click to access the menus.  
      With the menu bar enabled you can access the object context menu by 
      right clicking (instead of middle clicking, which is essential for users 
      that do not have a three button mouse).  
    </para>
   </listitem> 
   <listitem>
    <para>
      Keep tool box on top of diagram windows ensures that the Toolbox windows 
      is always in front of all the diagram windows which makes it easier to 
      keep track of and have quick access to the tool at all times.  
    </para>
   </listitem> 
   <listitem>
    <para>
      Width controls the width, in pixels, of a new diagram.
    </para>
   </listitem>
   <listitem>
    <para>
      Height controls the height, in pixels, of a new diagram.
    </para>
   </listitem>
   <listitem>
    <para>
      Magnify sets a multiplier that controls the default zoom level of
      a new diagram.
    </para>
   </listitem>
   <listitem>
    <para>
      Snap To makes object edges attract to where the grid lines intersect.  
      This makes it easier for the user to align objects, as separate objects
      snap to the same line. 
    </para>
   </listitem>
   <listitem>
     <para>
       X Size lets the user set a multiplier which sets how far the horizontal 
       grid lines are from each other.
     </para>
   </listitem>
   <listitem>
     <para>
       Y Size lets the user set a multiplier which sets how far the vertical
       grid lines are from each other.
     </para>
   </listitem>
   <listitem>
     <para>
       Colour sets the display colour of the grid lines.   
     </para>
   </listitem>
   <listitem>
     <para>
       Page Breaks are lines that indicate where the page edges will be when
       you print out your diagram.  
     </para>
   </listitem>
  </itemizedlist>
  </para>
  <para>
   After you have made all the changes you want, click on
   <guibutton>OK</guibutton> to apply the changes and close the
   <interface>Preferences</interface> dialog. To cancel the changes and return
   to previous values, click the <guibutton>Close</guibutton> button. You may
   preview the effect of your changes using the Apply
   button.
  </para>
 </sect1>
</chapter>
