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

# 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, затем отредактировать файл и запустить приложение.
Есть альтернативное решение, подробнее смотрите здесь (но для применения изменений некоторых параметров всё равно может потребоваться перезапустить приложение).

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

Параметры, требующие изменения вручную
Тег | Описание
--- | ---
<Mode> в <AutoRefresh> | Возможность удалить просматриваемые каталоги. "Просматриваемый каталог" – это каталог, на который Double Commander создаёт своего рода хук, поэтому может отслеживать любые изменения в нём. Таким образом, он может обновить отображаемое содержимое файловой панели, если оно изменилось. Этот параметр позволяет контролировать, как Double Commander будет реагировать на попытку удалить один из таких "просматриваемых каталогов" (даже в неактивной вкладке).
Значение | Описание
--- | ---
0 | Блокировать удаление просматриваемых каталогов.
1 | Не мешать удалению просматриваемых каталогов (по умолчанию).
2 | Отслеживать не каталог, а весь диск целиком: нет проблем с блокировкой открытых в DC каталогов, но может нагружать процессор.
Пример: `<Mode>1</Mode>`
<ActiveRight> в <Behaviours> | При запуске Double Commander активной будет правая панель.
Значение | Описание
--- | ---
True | Правая панель
False | Левая панель (по умолчанию)
Пример: `<ActiveRight>True</ActiveRight>`
<ConfirmQuit> в <Behaviours> | Подтверждать закрытие Double Commander (`True`) или нет (`False`). По умолчанию `False`.
<gBorderFrameWidth> в <Colors> | Мы можем настроить DC так, чтобы он рисовал рамку вокруг курсора. Параметр `<gBorderFrameWidth>` позволяет нам задать ширину линий. Чтобы включить курсор-рамку, мы должны перейти в Настройки > Параметры... > Цвета > Файловые панели и отметить параметр Курсор-рамка. Пример: `<gBorderFrameWidth>1</gBorderFrameWidth>`
<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 Commander установит атрибут "архивный". Linux и другие: используйте параметр Копировать атрибуты в диалоговом окне копирования/перемещения. По умолчанию `True`.
<CopyTime> в <FileOperations><Options> | Windows: если `True`, при копировании/перемещении файлов будут скопированы отметки времени (дата создания, дата изменения, дата последнего доступа) исходного файла, в противном случае будет скопирована только дата модификации и использоваться текущая дата для остальных. Linux и другие: используйте параметр Копировать дату/время в диалоговом окне копирования/перемещения. По умолчанию `True`.
<CopyXattributes> в <FileOperations><Options> | Копировать расширенные атрибуты файловой системы при копировании/перемещении файлов или нет. Windows: Если `True`, также будут скопированы атрибуты сжатый и зашифрованный. Linux и другие Unix-подобные системы: Double Commander будет копировать расширенные атрибуты файловой системы (xattr, т.е. именованные атрибуты). По умолчанию `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`.
<SystemItemProperties> в <Miscellaneous> | Linux/FreeBSD: значение `True` позволяет использовать диалоговое окно свойств файла файлового менеджера, который указан как программа по умолчанию в настройках среды рабочего стола (если это возможно), иначе Double Commander будет использовать собственное окно свойств. По умолчанию `False`.
Атрибут Save в <SyncDirs><Asymmetric> | Синхронизация каталогов: сохранять или нет асимметричный режим по умолчанию. Если мы хотим сохранять состояние режима, тогда `<Asymmetric Save="True">`, в противном случае `<Asymmetric Save="False">` (по умолчанию).
Атрибут Save в <SyncDirs><FileMask> | Синхронизация каталогов: по умолчанию программа сохраняет последнюю использованную маску файлов как маску по умолчанию для следующего запуска инструмента синхронизации (если это не шаблон поиска), чтобы запретить такое поведение, мы можем заменить `True` на `False` `<FileMask Save="False">` и DC по умолчанию каждый раз будет предлагать значение <FileMask> (по умолчанию "*", т.е. все файлы).
<DateTimeFormat> в <SyncDirs> | Параметр позволяет указать предпочитаемый формат даты и времени в инструменте синхронизации каталогов. Символы форматирования даты и времени описаны здесь. Значение по умолчанию `yyyy.mm.dd hh:nn:ss`.
<AutoCopy> в <Viewer> | Встроенный просмотрщик: включает (`True`) или выключает (`False`) автоматическое копирование выделенного текста в буфер обмена. По умолчанию `True`.
<ExtraLineSpan> в <Viewer> | Встроенный просмотрщик: параметр позволяет добавить несколько дополнительных пикселей по высоте для каждой строки. Значение задаётся непосредственно в пикселях. По умолчанию 0. Пример: `<ExtraLineSpan>2</ExtraLineSpan>`
<ImageExifRotate> в <Viewer> | Double Commander способен распознавать формат метаданных EXIF, которые могут быть в файлах изображений JPEG. Среди метаданных есть флаг ориентации, который может быть использован для просмотра изображения в том положении, в котором оно было сделано: портрет, пейзаж, перевёрнутое, зеркальное и т.д. Тег `ImageExifRotate` определяет, будет ли Double Commander учитывать эту информацию при просмотре изображения или нет.
Значение | Описание
--- | ---
True | Использовать встроенный в файл изображения флаг ориентации (по умолчанию).
False | Игнорировать флаг ориентации.
Пример: `<ImageExifRotate>True</ImageExifRotate>`
<JpegQuality> в <Viewer> | Встроенный просмотрщик: значение качества, которое Double Commander будет использовать по умолчанию при сохранении в формат JPEG (команды Сохранить и Сохранить как...). По умолчанию 80.
<LeftMargin> в <Viewer> | Встроенный просмотрщик: параметр позволяет добавить пространство между левой границей окна и границей текста. Значение задаётся непосредственно в пикселях. По умолчанию 4. Пример: `<LeftMargin>4</LeftMargin>`
<MaxTextWidth> в <Viewer> | Встроенный просмотрщик: задать максимальное количество символов в одной строке до принудительного переноса на новую. Диапазон значений от 80 до 16384, по умолчанию 1024. Пример: `<MaxTextWidth>1024</MaxTextWidth>`
<SynEditMask> в <Viewer> | Встроенный просмотрщик: параметр позволяет управлять списком расширений файлов для режима просмотра кода (конечно, в пределах доступного списка). Мы можем указать маски файлов (через точку с запятой ";" без пробелов), которые автоматически будут открываться в этом режиме вместо обычного текста, или имя шаблона поиска для исключения. Также мы можем отключить автоматическое открытие файлов в этом режиме, задав пустую строку. Значение по умолчанию "*".
<TabSpaces> в <Viewer> | Встроенный просмотрщик: задать ширину табуляции. Диапазон значений от 1 до 32, по умолчанию 8. Пример: `<TabSpaces>4</TabSpaces>`

(наверх)