Коммит 885cfd3f создал по автору Проскурнёв Илья Сергеевич's avatar Проскурнёв Илья Сергеевич
Просмотр файлов

docs: добавить описание решения для userContent.css

- Сохранить описание проблемы и решения
- Объяснить, почему не работает background.js
- Инструкция для тестирования и проверки после пересборки
владелец c17d91fa
# Решение для автоматического применения стилей about:preferences
## Проблема
Дизайн (чекбоксы #00AAFF) не работает в about:preferences и about:addons, пока пользователь вручную не скопирует `userContent.css` в профиль `~/.thunderbird/*/chrome/`.
## Причина
- `userContent.css` находится в `/usr/lib64/mostechmail/defaults/profile/chrome/`
- Thunderbird НЕ копирует его автоматически в профиль пользователя
- Механизм `defaults/profile/` работает только при создании НОВОГО профиля
## Решение
Использовать систему копирования при запуске + autoconfig:
### 1. Autoconfig (устанавливает prefs)
**Файлы:**
- `/usr/lib64/mostechmail/autoconfig.js`
- `/etc/thunderbird/thunderbird.cfg`
**Функции:**
- Включает `toolkit.legacyUserProfileCustomizations.stylesheets = true`
- Устанавливает `ui.widgetAccentColor = #00aaff`
- Устанавливает тему по умолчанию
### 2. Скрипт копирования (копирует CSS)
**Файл:** `/usr/lib64/mostechmail/copy-usercontent.sh`
**Вызывается из:** `/usr/bin/mostechmail` (mostechmail.sh)
**Функция:**
- При каждом запуске проверяет наличие `userContent.css` в профиле
- Если файла нет - копирует из `/usr/lib64/mostechmail/defaults/profile/chrome/userContent.css`
- Работает для ВСЕХ профилей пользователя
### 3. %post скрипт (копирует при установке пакета)
**В spec-файле:** секция `%post`
**Функция:**
- Копирует `userContent.css` во все существующие профили при установке/обновлении пакета
## Почему не работает background.js в теме?
**Thunderbird НЕ поддерживает** background scripts в статических темах (static themes).
Попытка добавить:
```json
"background": {
"scripts": ["background.js"]
}
```
Приводит к ошибке: **"Тема повреждена"**
Статические темы могут содержать только:
- manifest.json
- CSS файлы
- Цвета
- Иконки
- Изображения
## Текущий статус (после отката)
**Вернули рабочую систему:**
- Tema: без background.js
- Spec: с autoconfig и copy-usercontent.sh
- XPI: пересобраны без background.js
## Для тестирования (до пересборки пакета)
```bash
# Установить тему вручную
# Меню ≡ → Дополнения и темы → ⚙️ → Установить дополнение из файла
# Выбрать: dist/dit-system-dark-mostech-1.0.4.xpi
# Скопировать userContent.css вручную
mkdir -p ~/.thunderbird/*/chrome/
cp /usr/lib64/mostechmail/defaults/profile/chrome/userContent.css \
~/.thunderbird/*/chrome/
# Включить legacy CSS (если не включён)
# about:config → toolkit.legacyUserProfileCustomizations.stylesheets = true
```
## После пересборки пакета mostechmail
1. Установить пакет
2. Запустить Mostech Mail
3. `userContent.css` скопируется автоматически
4. Перезапустить Mostech Mail
5. Открыть about:preferences - чекбоксы будут #00AAFF ✅
## Merge Request
**Ветка:** `revert-background-script-and-copy-usercontent-fix`
**Ссылка:** https://hub.mos.ru/mostech/mostechmail-themes/-/merge_requests/new?merge_request%5Bsource_branch%5D=revert-background-script-and-copy-usercontent-fix
**Описание MR:**
Убрать эксперимент с background script (повреждает тему) и вернуться к рабочей системе с copy-usercontent.sh.
Поддерживает Markdown
0% или .
You are about to add 0 people to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Пожалуйста, зарегистрируйтесь или чтобы прокомментировать