# 2.17. Файл конфигурации doublecmd.xml

## Содержание

1. Описание
2. Расположение
3. Параметры, изменяемые вручную

## 1. Описание

Главные настройки Double Commander хранятся в XML файле с именем `doublecmd.xml`.

(наверх)

## 2. Расположение

Файл `doublecmd.xml` может быть расположен в разных местах:

- Домашний каталог пользователя.
- Каталог программы, обычно в случае использования как портативной версии.
- Мы можем задать каталог с помощью параметра командной строки при запуске приложения.

Подробнее узнать про параметр командной строки `--config-dir` можно по этой ссылке.

Расположение задаётся в настройках: Настройки > Параметры... > выбираем в дереве > устанавливаем параметр Месторасположение файлов конфигурации.

Ещё один способ быстро выяснить, где находится `doublecmd.xml` текущего экземпляра Double Commander, это использовать меню избранных каталогов. В конце его имеется дополнительный раздел под названием "Специальные каталоги", далее выбираем "Каталог Double Commander..." и "%DC_CONFIG_PATH%". Здесь мы найдём `doublecmd.xml`, который приложение использует в данный момент.

(наверх)

## 3. Параметры, изменяемые вручную

Подавляющее большинство параметров Double Commander может быть изменено через интерфейс приложения.

Мы просто нажимаем в главном меню Настройки > Параметры и получаем окно с настройками, разложенными по категориям.

Так что, как правило, нам не придётся вручную редактировать содержимое файла конфигурации.

Но есть несколько параметров, которые могут быть изменены только ручным редактированием `doublecmd.xml`.

ПРЕДУПРЕЖДЕНИЕ: Мы не будем редактировать файл пока Double Commander запущен! Не только потому, что в любом случае значения из него будут прочитаны только при запуске приложения, но и потому, что после закрытия DC наши изменения будут перезаписаны значениями текущей сессии. Если нужно изменить файл `doublecmd.xml` вручную, мы должны убедиться, что закрыли Double Commander, затем отредактировать файл и запустить приложение.

Таблица ниже содержит описание параметров, изменение которых возможно только вручную.

О формате цвета: Мы можем использовать код цвета в шестнадцатеричном виде в формате $BBGGRR (например, если хотим использовать синий цвет, то должны записать `$FF0000`).

Параметры, требующие изменения вручную
Тег | Описание
--- | ---
<Mode> в <AutoRefresh> | Возможность удалить просматриваемые каталоги. "Просматриваемый каталог" – это каталог, на который Double Commander создаёт своего рода хук, поэтому может отслеживать любые изменения в нём. Таким образом, он может обновить отображаемое содержимое файловой панели, если оно изменилось. Этот параметр позволяет контролировать, как Double Commander будет реагировать на попытку удалить один из таких "просматриваемых каталогов" (даже в неактивной вкладке).
Значение | Описание
--- | ---
0 | Блокировать удаление просматриваемых каталогов.
1 | Не мешать удалению просматриваемых каталогов (по умолчанию).
2 | Отслеживать не каталог, а весь диск целиком: нет проблем с блокировкой открытых в DC каталогов, но может нагружать процессор.
Пример: `<Mode>1</Mode>`
<ActiveRight> в <Behaviours> | При запуске Double Commander активной будет правая панель.
Значение | Описание
--- | ---
True | Правая панель
False | Левая панель (по умолчанию)
Пример: `<ActiveRight>True</ActiveRight>`
<gBorderFrameWidth> в <Colors> | Мы можем настроить DC так, чтобы он рисовал рамку вокруг курсора. Параметр `<gBorderFrameWidth>` позволяет нам задать ширину линий. Чтобы включить курсор-рамку, мы должны перейти в Настройки > Параметры... > Цвета > Файловые панели и отметить параметр Курсор-рамка. Пример: `<gBorderFrameWidth>1</gBorderFrameWidth>`
<PathLabel> в <Colors> | Изменение цвета панели текущего пути:
Тег | Файловая панель | Описание
--- | --- | ---
<ActiveColor> | активная | цвет фона
<ActiveFontColor> | цвет шрифта
<InactiveColor> | неактивная | цвет фона
<InactiveFontColor> | цвет шрифта
<Info>, <Error> и <Success> в <Colors><LogWindow> | Задают цвет текста в окне протокола для информационных сообщений, сообщений об ошибке и об успешной операции.
<Added>, <Deleted> и <Modified> в <Differ><Colors> | Встроенный инструмент сравнения файлов: цвет для добавленных, удалённых и модифицированных строк.
<Modified> в <Differ><Colors><Binary> | Встроенный инструмент сравнения файлов: цвет для различающихся символов в бинарном режиме.
<FindWordAtCursor>(Альфа-версия) в <Editor> | Встроенный редактор и инструмент сравнения: если ничего не выделено, в диалоге поиска и замены будет использоваться слово под курсором (`True`) или текст из истории поиска (`False`). По умолчанию `True`.
<AutoExtractOpenMask> в <FileOperations> | Предположим, мы "вошли" в сжатый файл в активной панели и просматриваем его содержимое. Файлы с расширением, заданным в этом параметре, при нажатии `Enter` или двойном щелчке мыши будут автоматически распакованы из архива и выполнены в соответствии с файловыми ассоциациями (вместо показа окна свойств). Пример: `<AutoExtractOpenMask>*.txt;*.mp3;*.mp4</AutoExtractOpenMask>`
<LongNameAlert> в <FileOperations> | Предупредить, если целевой путь длиннее максимальной длины для пути (некоторые программы не смогут получить доступ к файлу/каталогу с таким длинным именем). В Windows это значение (MAX_PATH) составляет 260 символов. По умолчанию `True`.
<NtfsHourTimeDelay> в <FileOperations> | При сравнении даты и времени игнорировать разницу во времени ровно один час (при использовании внутренних команд cm_CompareDirectories или cm_SyncDirs). Это полезно при сравнении файлов и папок на разделах с NTFS и FAT32, поскольку метки времени на томах с NTFS меняются при переходе с летнего или на летнее время: т.е. файлы на NTFS идентичны файлам на разделе с FAT32, хотя мы явно видим один час разницы.
Значение | Описание
--- | ---
True | Разрешить, разница ровно в один час будет считаться как то же время
False | Запретить (по умолчанию)
Пример: `<NtfsHourTimeDelay>True</NtfsHourTimeDelay>`
<CopyAttributes> в <FileOperations><Options> | Windows: если `True`, при копировании/перемещении файлов будут скопированы атрибуты исходного файла; если `False`, также будут скопированы атрибуты исходного файла и Double Coomander установит атрибут "архивный". Linux и другие: используйте параметр Копировать атрибуты в диалоговом окне копирования/перемещения. По умолчанию `True`.
<CopyTime> в <FileOperations><Options> | Windows: если `True`, при копировании/перемещении файлов будут скопированы отметки времени (дата создания, дата изменения, дата последнего доступа) исходного файла, в противном случае будет скопирована только дата модификации и использоваться текущая дата для остальных. Linux и другие: используйте параметр Копировать дату/время в диалоговом окне копирования/перемещения. По умолчанию `True`.
<CopyXattributes> в <FileOperations><Options> | Копировать расширенные атрибуты файловой системы при копировании/перемещении файлов или нет. Windows: Если `True`, также будут скопированы атрибуты сжатый и зашифрованный. Linux и другие Unix-подобные системы: Double Commander будет копировать расширенные атрибуты файловой системы (xattr, т.е. именованные атрибуты). По умолчанию `True`.
<AutoCopy>(Альфа-версия) в <Viewer> | Встроенный просмотрщик: включает (`True`) или выключает (`False`) автоматическое копирование выделенного текста в буфер обмена. По умолчанию `True`.
<ExtraLineSpan> в <FilesViews> | Параметр позволяет добавить несколько дополнительных пикселей по высоте для каждого элемента в файловых панелях. Значение задаётся непосредственно в пикселях. По умолчанию равно 2. Пример: `<ExtraLineSpan>2</ExtraLineSpan>`
<FolderPrefix> и <FolderPostfix> в <FilesViews> | По умолчанию DC показывает квадратные скобки вокруг имён папок (это опциональный параметр в Список файлов > Список файлов (дополнительно)), но мы можем использовать вместо них любые символы. Примечание: В XML некоторые специальные символы зарезервированы как часть разметки и мы не можем использовать их как есть. Существует пять предопределённых сущностей: `<` должен быть записан как `&lt;`, `>` как `&gt;`, `&` как `&amp;`, `'` как `&apos;` и `"` как `&quot;`.
<AutoSaveWidth> в <FilesViews><ColumnsView> | Когда мы вручную с помощью мыши изменяем ширину колонки, по умолчанию DC применяет изменения для обеих панелей и сохраняет новое значение для последующих запусков. Если мы хотим отключить такое поведение и использовать изменения только в текущей сессии, то должны заменить `True` на `False`, т.е. использовать `<AutoSaveWidth>False</AutoSaveWidth>`.
<LongInStatus>(Альфа-версия) в <FilesViews><ColumnsView> | Если выбран подробный вид и нет выделенных файлов, то в строке состояния отображается имя файла под курсором (`True`) или количество файлов (`False`, по умолчанию). Если `True`, строка состояния также будет показывать количество файлов, когда курсор находится на пункте "..". Для ссылок дополнительно будут отображаться целевые объекты.
<TitleStyle> в <FilesViews><ColumnsView> | Изменение вида панели заголовков колонок. Значение по умолчанию зависит от ОС.
Значение | Описание
--- | ---
0 | tsLazarus: Значение Lazarus по умолчанию.
1 | tsStandard: Более контрастный вид, как у сетки Delphi.
2 | tsNative: Попытаться установить вид, соответствующий текущей теме виджетов.
Пример: `<TitleStyle>2</TitleStyle>`
<Quality> во всех тегах <Fonts> | Задаёт тип растеризации шрифта. Другими словами, определяет качество шрифта. Есть много тегов `<Font>`, можно менять не для всей программы, а индивидуально.
Значение | Описание
--- | ---
0 | Default: Используются системные настройки (по умолчанию).
1 | Draft: Включает масштабирование для растровых шрифтов; размер шрифта можно увеличивать, но со снижением качества. Также шрифт поддерживает начертания жирный, курсив, подчёркнутый и зачёркнутый, если это необходимо. Качество получается ниже, чем при использовании Proof.
2 | Proof: Качество отрисовки символов имеет важное значение, поэтому для растровых шрифтов отключается масштабирование и подбирается ближайший по размеру.
3 | NonAntialiased: Не использовать сглаживание.
4 | Antialiased: Шрифт всегда сглаживается, если поддерживает это. Размер шрифта не может быть слишком маленьким или слишком большим.
5 | ClearType: Шрифт отображается с использованием технологии сглаживания ClearType.
6 | ClearTypeNatural: Шрифт отображается с использованием технологии сглаживания Natural ClearType.
Пример: `<Quality>1</Quality>`
<CustomIcons> в <Icons> | Только Windows: параметр определяет, какие значки будут использоваться для дисков, папок и архивов. Задаётся как сумма следующих значений:
Элемент | Из системы | Пользовательские
--- | --- | ---
Диски | 0 | 1
Папки | 0 | 2
Архивы | 0 | 4
Если мы хотим... ...все из системы: 0 + 0 + 0= 0, тогда `<CustomIcons>0</CustomIcons>` ...все пользовательские: 1 + 2 + 4 = 7, тогда `<CustomIcons>7</CustomIcons>` ...пользовательские для дисков, остальные из системы: 1 + 0 + 0 = 1, тогда `<CustomIcons>1</CustomIcons>` и т.д... Для пользовательских значков используются следующие ("XxX" – это размеры значков):
Элемент | Расположение
--- | ---
Диски | %commander_path%\pixmaps\theme\XxX\devices\
Папки | %commander_path%\pixmaps\theme\XxX\places\folder.png
Архивы | %commander_path%\pixmaps\theme\XxX\mimetypes\package-x-generic.png
<DiskAlpha> в <Icons> | Задаёт уровень прозрачности для значков отмонтированных дисков.
Значение | Описание
--- | ---
от 1 до 99 | Уровень прозрачности (по умолчанию 50).
0 или 100 | Запретить функцию.
<ToolSize> в <Icons> | Размер значков панели инструментов во встроенном редакторе, просмотрщике и инструменте сравнения, допустимые значения: 16, 24 или 32.
<ShowColonAfterDrive> в <Layout> | Только Windows: показать двоеточие после букв дисков в панели кнопок дисков и в списке дисков. По умолчанию `False`.
<UppercaseDriveLetter> в <Layout> | Только Windows: использовать заглавные буквы в панели кнопок дисков и в списке дисков. По умолчанию `False`.
<DefaultTextEncoding> в <Miscellaneous> | По умолчанию (NONE) встроенная программа просмотра файлов и встроенный редактор используют автоматическое определение кодировки, но вы можете указать одну из поддерживаемых однобайтовых кодировок как значение по умолчанию. Список поддерживаемых кодировок можно посмотреть, например, во встроенном редакторе в меню "Кодировка". Также доступны специальные значения:
Значение | Описание
--- | ---
ANSI | Системная кодировка ANSI по умолчанию (зависит от локали).
OEM | Системная кодировка OEM (DOS) по умолчанию (зависит от локали).
Этот параметр не затрагивает автоматическое определение многобайтовых кодировок (UTF-8, UTF-16 и другие).
Атрибут Save в <SyncDirs><Asymmetric> | Синхронизация каталогов: сохранять или нет асимметричный режим по умолчанию. Если мы хотим сохранять состояние режима, тогда `<Asymmetric Save="True">`, в противном случае `<Asymmetric Save="False">` (по умолчанию).
<Left>, <Right> и <Unknown> в <SyncDirs><Colors> | Цвет текста в инструменте синхронизации каталогов:
Тег | Описание
--- | ---
<Left> | Файлы, выбранные для копирования или удаления слева.
<Right> | Файлы, выбранные для копирования или удаления справа.
<Unknown> | Файлы с одинаковыми именами, но не идентичные.
<ExtraLineSpan> в <Viewer> | Встроенный просмотрщик: параметр позволяет добавить несколько дополнительных пикселей по высоте для каждой строки. Значение задаётся непосредственно в пикселях. По умолчанию 0. Пример: `<ExtraLineSpan>2</ExtraLineSpan>`
<ImageBackColor1>(Альфа-версия) в <Viewer> | Встроенный просмотрщик: задаёт цвет фона окна при просмотре изображений.
<ImageBackColor2>(Альфа-версия) в <Viewer> | Если отмечено Изображение > Показывать прозрачность, программа просмотра отображает прозрачность используя фон в виде шахматной доски и `ImageBackColor2` определяет цвет клеток. Если не задано, просмотрщик автоматически рассчитает значение: для тёмного фона будут использоваться светлые клетки и наоборот.
<ImageExifRotate> в <Viewer> | Double Commander способен распознавать формат метаданных EXIF, которые могут быть в файлах изображений JPEG. Среди метаданных есть флаг ориентации, который может быть использован для просмотра изображения в том положении, в котором оно было сделано: портрет, пейзаж, перевёрнутое, зеркальное и т.д. Тег `ImageExifRotate` определяет, будет ли Double Commander учитывать эту информацию при просмотре изображения или нет.
Значение | Описание
--- | ---
True | Использовать встроенный в файл изображения флаг ориентации (по умолчанию).
False | Игнорировать флаг ориентации.
Пример: `<ImageExifRotate>True</ImageExifRotate>`
<LeftMargin> в <Viewer> | Встроенный просмотрщик: параметр позволяет добавить пространство между левой границей окна и границей текста. Значение задаётся непосредственно в пикселях. По умолчанию 4. Пример: `<LeftMargin>4</LeftMargin>`
<MaxTextWidth> в <Viewer> | Встроенный просмотрщик: задать максимальное количество символов в одной строке до принудительного переноса на новую. Диапазон значений от 80 до 16384, по умолчанию 1024. Пример: `<MaxTextWidth>1024</MaxTextWidth>`
<TabSpaces> в <Viewer> | Встроенный просмотрщик: задать ширину табуляции. Диапазон значений от 1 до 32, по умолчанию 8. Пример: `<TabSpaces>4</TabSpaces>`

(наверх)