Какими бы гибкими не были шаблоны, на их освоение уходит достаточно много времени. Те, кто их использует в своих профилях, вовсе не пришли к этому быстро. Поэтому такой материал конечно же был бы очень полезен. Любой подобный материал может подтолкнуть к началу использования шаблонов.
Основных сложности две:
В начале, надо понять, где хранятся настройки приложения. Как бы я не недолюбливал гномовский реестр, но в случае с MATE найти их гораздо проще. Достаточно выполнить ‘dconf watch /’, посмотреть, что и куда прописывается, затем выполнить ‘dconf dump /’ и перенести настройки в шаблоны.
Вот пример шаблона настраивающего терминал MATE:
# Calculate format=dconf dconf=/org/mate/terminal
[global]
confirm-window-close=false
use-menu-accelerators=false
[profiles/default]
background-color='#2C2C2C2C2C2C'
palette='#2C2C2C2C2C2C:#707050505050:#6060B4B48A8A:#DFDFAFAF8F8F:#9A9AB8B8D7D7:#DCDC8C8CC3C3:#8C8CD0D0D3D3:#DCDCDCDCCCCC:#707090908080:#DCDCA3A3A3A3:#7272D5D5A3A3:#F0F0DFDFAFAF:#9494BFBFF3F3:#ECEC9393D3D3:#9393E0E0E3E3:#FFFFFFFFFFFF'
foreground-color='#DCDCDCDCCCCC'
use-theme-colors=false
scrollback-lines=4000
Хороший шаблон тот, который указывает только изменяемые настройки. Остальные берутся по умолчанию. Такие шаблоны проще просматривать и поддерживать в будущем. Вам легче вспомнить что и для чего вы меняли, т.к. нет ничего лишнего дублирующего дефолтные значения.
Изменяемые настройки KDE или Xfce можно двумя способами. Первый вариант, чтобы посмотреть что изменилось по времени модификации, создайте файл в /tmp/1, затем выполните ‘find ~/ -cnewer /tmp/1’, скопируйте найденный файл настроек в /tmp и diff-ом посмотрите различия во время изменения настроек. Второй вариант, можно содержимое /home/USER перенести в git и через его утилиты смотреть все различия.
Вторая сложность заключается в указании правильных условий. Шаблоны используются во многих случаях и неправильно составленное условие будет выполнять ваш шаблон постоянно. Поэтому многие просто копируют структуру /var/lib/layman/calculate/profiles/templates. Это хорошее решение потому, что копируя шаблоны из профиля, вы не задумываетесь о корректности условий, а заодно и видите их. Но для настройки всего одного файла выглядит такая структура чрезмерно нагромождённо и запутанно. Поэтому удобно все условия перенести в один шаблон, либо создать небольшую структуру из 1-2 вспомогательных директорий со своими условиями, чтобы отделить например настройки профиля пользователя от системных. Для этого найдите конкретный шаблон настраивающий пакет. Найти можно через find/grep по дереву шаблонов, либо посмотрев заголовок настроенного файла. Как правило, шаблоны оставляют о себе информацию в заголовке файла. В случае с файлами пользовательских программ сделать это лучше до их первого запуска. Скопируйте шаблон в /var/calculate/templates и перенесите все условия из файлов свойств директорий ‘.calculate_directory’ в его заголовок.
Есть ещё небольшие нюансы. Например, при помощи шаблонов в файле .calculate/ini.env ведётся учёт настроенных программ. Разобраться в этом не сложно. Синтаксис шаблонов описан в документации.