Double Commander

2.17. Settings in doublecmd.xml


1. Presentation
2. Location
3. Options to change manually

1. Presentation

Main settings of Double Commander are saved/restored to/from an XML file named doublecmd.xml.

2. Location

The location of this doublecmd.xml file may be in different places:

We follow this link if we want to specify it by with the command line paramter --config-dir.

Other than that, we do Configuration > Options... > select in the tree Double Commander > set the option Location of configuration files.

Location of configuration file

Another way to quickly find out where is located the doublecmd.xml the current instance of Double Commander is using is by accessing the Directory Hotlist. At the end of it there is a sub section called "Special Dirs". Then we select "Go to Double Commander special path" and then "%DC_CONFIG_PATH%". We will find there the doublecmd.xml that application is currently using.

3. Options to change manually

The large majority of possible settings in Double Commander may be set via the application itself through the various option categories.

We simply click from the main menu bar Configuration > Options and the various settings we'll configured there will be saved to the doublecmd.xml file when we close the application. Then, they will be restored on the next usage of the application.

So generally, we don't have to manually edit the content of the configuration file.

But there are some very rare specific settings that required to be edited manually from the configuration file if we want to tweak the application.

WARNING: We will not edit that file WHILE Double Commander is running! Not only because anyway their values are read only when we're starting the application, but also because if we edited the file while DC is running, when we'll close the application the values we would have wrote will be overwritten by the application re-saving its current context for next session. If we need to edit the doublecmd.xml file, we need to make sure we close Double Commander, then we edit file, and then we re-launch the application.
There is an alternative solution, see more details here (but to apply changes to some options, you may still need to restart the application).

The following table gives us these rare specific settings that we need to manually edit the file if we need to change them.

Setting required to be changed manually if necessary
from <AutoRefresh>
The ability to delete watched directories.
A "watched directory" is a directory that Double Commander has a kind of hook on it so it can monitor any modification in it.
This way, it can refresh the displayable content of it if it's content changed.
This setting allows to control how Double Commander will react if we attempt to delete one of these "watched directory" currently displayed in a panel, even in a non-activated tab.
Value Description
0 Prevents deleting watched directories.
1 Does not prevent deleting watched directories (default).
2 Watch whole drives instead of single directories to omit problems with deleting watched directories.
Example: <Mode>1</Mode>
from <Behaviours>
The right panel will be active when Double Commander starts.
Value Description
True Right panel
False Left panel (default)
Example: <ActiveRight>True</ActiveRight>
from <Behaviours>
Confirm closing Double Commander (True) or not (False). False by default.
from <Colors>
We may configure DC so it will draw a rectangle around the active entry as we we cycle through them in a panel.
<gBorderFrameWidth> allows us to configure the width of the lines used to draw a rectangle around the current active entry.
To view that rectangle, we should go in Configuration > Options... > Colors > File panels and check the option Use frame cursor.
Example: <gBorderFrameWidth>1</gBorderFrameWidth>
from <Editor>
Internal editor and differ tool: if nothing is selected, the search and replace dialog will use the word under the cursor (True) or text from the search history (False). True by default.
from <FileOperations>
Suppose we've "entered" into a compressed file and browsing its content in the active panel. The files with the specified extension of this setting will be automatically unpacked from the archive when we press Enter or double-click on them instead of showing the properties window.
Example: <AutoExtractOpenMask>*.txt;*.mp3;*.mp4</AutoExtractOpenMask>
from <FileOperations>
Warn if target path is longer than maximum length for a path (some programs will not be able to access a file/directory with such a long name). In Windows this value (MAX_PATH) is defined as 260 characters. True by default.
from <FileOperations>
Ignore time difference of exactly one hour between entries when comparing their date and time.
This takes place when using internal commands cm_CompareDirectories or cm_SyncDirs.
It is useful when comparing items located on a NTFS partition to another one not on such partition.
Since the time stamp of a file changes on a NTFS partition when daylight savings period occurs and not when the same exact file is from a FAT32, we want the two files to be consider identical even if we visibly see a one hour difference between the two.
Value Description
True Enable, a difference of exactly one hour will be considered the same time
False Disable (default)
Example: <NtfsHourTimeDelay>True</NtfsHourTimeDelay>
from <FileOperations><Options>
Windows: if True, the attributes of the source file will be copied when copying/moving files; if False, the attributes of the source file will also be copied and Double Commander will set the "archive" attribute.
Linux and others: use the Copy attributes option in the copy/move dialog window.
True by default.
from <FileOperations><Options>
Windows: if True, the timestamps of the source file will be copied (creation date, modification date, last access date) when copying/moving files, otherwise, only the modification date will be copied and the current date will be used for others.
Linux and others: use the Copy date/time option in the copy/move dialog window.
True by default.
from <FileOperations><Options>
Copy filesystem extended attributes when copying/moving files or not.
Windows: if True, compressed and encrypted attributes will also be copied.
Linux and other Unix-like systems: if True, Double Commander will copy filesystem extended attributes (xattr, i.e. the named attributes).
True by default.
from <FilesViews>
This setting allows to add some extra pixels to the height allowed for each element displayed in the file panels.
The value is interpreted directly in pixels.
Default value is 2.
Example: <ExtraLineSpan>2</ExtraLineSpan>
<FolderPrefix> and <FolderPostfix>
from <FilesViews>
By default DC shows square brackets around directory names (it's optional parameter in Files views > Files views extra), but we can use any symbols instead them.
Note: In XML some special symbols are reserved as part of markup and we can not use them as is. There are five predefined entities: < should write as &lt;, > as &gt;, & as &amp;, ' as &apos; and " as &quot;.
from <FilesViews>
This option changes the mouse click action when renaming a file under the cursor: if True, the mouse click outside the name input field will confirm renaming the file (as in Windows Explorer), otherwise, the mouse click will work the same as the Esc key.
False by default.
In both cases, we can still use the button to the right of the input field to confirm the operation.
from <FilesViews><ColumnsView>
When we manually change the column width with the mouse help, by default DC changes it for both panels and saves a new value for the next launches.
If we want to disable this behavior and use new value only in the current session, we should replace True with False, i.e. use <AutoSaveWidth>False</AutoSaveWidth>.
from <FilesViews><ColumnsView>
If the columns view is set and there are no selected files, the status bar displays the file name under the cursor (True) or the number of files (False, by default).
If True, the status bar will also show the number of files when the cursor is on the ".." item. For links, target objects will additionally be displayed.
from <FilesViews><ColumnsView>
Changes the look of tabstop headers bar.
Default value depends on your OS.
Value Description
0 tsLazarus: The default Lazarus's look.
1 tsStandard: A more contrasted look, like Delphi grids.
2 tsNative: Tries to set a look that is in concordance with current widgetset theme.
Example: <TitleStyle>2</TitleStyle>
from many tags <Fonts>
Determine what type of font rasterization that will be used. In other words, it determine the font quality.
There are many tags where it's applicable individually.
Value Description
0 Default: The quality is determined by the system settings (default).
1 Draft: For raster fonts, scaling is enabled; the font size can be increased but the quality may be lower.
Also the font supports Bold, Italic, Underline or Strikeout if necessary.
The quality is less important than when Proof is used.
2 Proof: The quality of the characters is important, so for the raster fonts, scaling is disabled and the font closest in size is chosen.
3 NonAntialiased: The font is never antialiased.
4 Antialiased: The font is always antialiased if it supports it.
The size of the font cannot be too small or too large.
5 ClearType: The font is rendered using the ClearType anti-aliasing method.
6 ClearTypeNatural: The font is rendered using the Natural ClearType antialiasing method.
Example: <Quality>1</Quality>
from <Icons>
Windows only: this option will help to determine if the icons used for drives, folders or archives will be the default ones from the system or if it will be custom ones that we may set ourselves.
The CustomIcons option will be set to a single number representing the sum of the numbers from the following table depending on what are our preferences:
Element From system Custom
Drives 0 1
Folders 0 2
Archives 0 4

If we want...
...everything from the system: 0 + 0 + 0= 0 so <CustomIcons>0</CustomIcons>
...everything custom: 1 + 2 + 4 = 7 so <CustomIcons>7</CustomIcons> custom, other system: 1 + 0 + 0 = 1 so <CustomIcons>1</CustomIcons>

If we wish to use custom icons, here is the location for each items:
Element Location
Drives %commander_path%\pixmaps\theme\XxX\devices\
Folders %commander_path%\pixmaps\theme\XxX\places\folder.png
Archives %commander_path%\pixmaps\theme\XxX\mimetypes\package-x-generic.png
from <Icons>
Option to set the transparency level of unmounted drive icons.
Value Description
1 to 99 Valid transparency level (default is 50).
0 or 100 Disables function.
from <Icons>
Size of toolbar icons in the internal editor, viewer and differ tool, supported values: 16, 24 or 32.
from <Layout>
Windows only: show colon after letters of disks in the drives button bar and in the drives list. False by default.
from <Layout>
Windows only: use uppercase letters in the drives button bar and in the drives list. False by default.
from <Miscellaneous>
The option allows to specify the preferred decimal separator character (i.e. separator for integer and fractional parts of a number) instead of the value from your regional settings. We can specify any character from the ASCII table with a code from U+0000 to U+007F (the use of printable characters is implied, i.e. from U+0020 to U+007E).
from <Miscellaneous>
The option allows to choose the action of double-clicking on the the current directory bar: show directory hotlist (False, by default) or edit current path (True).
from <Miscellaneous>
Linux/FreeBSD: the True value allows to use the file properties dialog window of the file manager, which is specified as the default program in the desktop environment settings (if it possible), otherwise, Double Commander will use its own properties window. False by default.
Attribute Save
from <SyncDirs><Asymmetric>
Synchronize directories: save or not asymmetric mode by default.
If we want to save state of mode then <Asymmetric Save="True"> or <Asymmetric Save="False"> otherwise (by default).
Attribute Save
from <SyncDirs><FileMask>
Synchronize directories: by default, the program saves the last used file mask as the default mask for the next run of the synchronization tool (if it is not a search template), to disable this behavior, we can replace True with False
<FileMask Save="False">
and DC will suggest the value of <FileMask> every time by default ("*" by default, i.e. all files).
from <SyncDirs>
This setting allows to specify the preferred date and time format in the directory synchronization tool. Date and time formatting symbols are described here.
Default value is hh:nn:ss.
from <Viewer>
For the internal viewer, enables (True) or disables (False) automatic copying of the selected text to the clipboard. True by default.
from <Viewer>
For the internal viewer, this setting allows to add some extra pixels to the height allowed for each line.
The value is interpreted directly in pixels.
Default value is 0.
Example: <ExtraLineSpan>2</ExtraLineSpan>
from <Viewer>
Double Commander is able to recognize the EXIF metadata format that might be encoded into a JPEG image file.
Inside that metadata, there is an orientation flag that may be used to display the picture into the same orientation as it was taken like if was in portrait, landscape, upside-down, mirror, etc.
The ImageExifRotate tag configures Double Commander to indicate if we want the viewer to display the image using that information or not.
Value Description
True Use the orientation flag embedded into the image file (default).
False Ignore the orientation flag.
Example: <ImageExifRotate>True</ImageExifRotate>
from <Viewer>
For the internal viewer, the quality value that Double Commander will use by default when saving to JPEG format (the commands Save and Save As...). 80 by default.
from <Viewer>
For the internal viewer, this option allows to add space between the left border of the window and the text border.
The value is interpreted directly in pixels.
Default value is 4.
Example: <LeftMargin>4</LeftMargin>
from <Viewer>
For the internal viewer, limits the maximum file size for automatic choice of the code viewing mode (displaying text with syntax highlighting requires more resources than displaying plain text). The option value is ignored when we force the code viewing mode in the viewer window.
The size is specified in megabytes, the default value is 128.
from <Viewer>
For the internal viewer, configure the maximum number of characters to be displayed on one text line prior to wrap it up to the next one.
The valid range goes from 80 to 16384 and default value is 1024.
Example: <MaxTextWidth>1024</MaxTextWidth>
from <Viewer>
For the internal viewer, this option allows to manage the list of file extensions for code view mode (of course, within the available list). We can specify file masks (separated by semicolons ";" without spaces) that will automatically open in this mode instead of plain text, or the name of a search template to exclude. We can also disable automatic opening of files in this mode by setting an empty string. The default value is "*".
from <Viewer>
For the internal viewer, set the width of tab stops to use.
The valid range goes from 1 to 32 and default value is 8.
Example: <TabSpaces>4</TabSpaces>

Valid HTML 4.0 Transitional CSS Valid!