LINUX.ORG.RU

История изменений

Исправление geekless, (текущая версия) :

Тогда предлагаю фичу в таком виде:

1. Какие настройки использовать per-directory.

  • Формат списка панели.
  • Порядок сортировки.
  • Показ скрытых файлов.
  • Показ backup-файлов.

2. Как будут определяться действующие параметры отображения.

Для панели параметры настроек, перечисленных выше, хранятся в двух экземплярах:

  • Effective. Действующее значение настройки, определяющее вид панели.
  • Hidden. Скрытое значение.

Когда пользователь изменяет значение настроек через интерфейс программы, в Effective и Hidden записывается одинаковое значение.

Когда пользователь заходит в каталог, происходит следующее:

  • Определяется, задано ли для данного каталога переопределение настройки. Если задано, значение Effective устанавливается равным этому переопределенному значению.
  • Если переопределение не задано, происходит присваивание Effective = Hidden.

3. Как и где хранить настройки per-directory.

Заманчивой на первый взгляд выглядит идея хранить их в скрытом файле непосредственно в целевом каталоге, но этот способ имеет недостатки:

  • При доступе по сети скачивание файла при каждом заходе в каталог может быть нежелательно. Придётся отключать эту фичу для удаленных ФС, что нарушает консистентность поведения ФМ.
  • Невозможно сделать настойку одновременно per-user, per-directory и per-profile.
  • Невозможно простым способом реализовать наследование per-directory настроки в подкаталоги.

Поэтому я предлагаю хранить все такие настройки в файле ${XDG_CONFIG_HOME}/mc/per-directory. Файл состоит из строк вида «маска настройка=значение». Например:

/home/vadim show_dot_files=false
/home/vadim/Downloads/** sort_order=mtime

Что думаете? Стоит писать патч?

cast angel_il, cast Slavaz

Исходная версия geekless, :

Тогда предлагаю фичу в таком виде:

1. Какие настройки использовать per-directory.

  • Формат списка панели.
  • Порядок сортировки.
  • Показ скрытых файлов.
  • Показ backup-файлов.

2. Как будут определяться действующие параметры отображения.

Для панели параметры настроек, перечисленных выше, хранятся в двух экземплярах:

  • Effective. Действующее значение настройки, определяющее вид панели.
  • Hidden. Скрытое значение.

Когда пользователь изменяет значение настроек через интерфейс программы, в Effective и Hidden записывается одинаковое значение.

Когда пользователь заходит в каталог, происходит следующее:

  • Определяется, задано ли для данного каталога переопределение настройки. Если задано, значение Effective устанавливается равным этому переопределенному значению.
  • Если переопределение не задано, происходит присваивание Effective = Hidden.

3. Как и где хранить настройки per-directory.

Заманчивой на первый взгляд выглядит идея хранить их в скрытом файле непосредственно в целевом каталоге, но этот способ имеет недостатки:

  • При доступе по сети скачивание файла при каждом заходе в каталог может быть нежелательно. Придётся отключать эту фичу для удаленных ФС, что нарушает консистентность поведения ФМ.
  • Невозможно сделать настойку одновременно per-user, per-directory и per-profile.
  • Невозможно простым спосбом реализовать наследование per-directory настроке в подкаталоги.

Поэтому я предлагаю хранить все такие настройки в файле ${XDG_CONFIG_HOME}/mc/per-directory. Файл состоит из строк вида «маска настройка=значение». Например:

/home/vadim show_dot_files=false
/home/vadim/Downloads/** sort_order=mtime

Что думаете? Стоит писать патч?

cast angel_il, cast Slavaz