Bug 18854

Summary: Ximperconf: автоматическое отключение модулей Hyprland
Product: Ximper Linux Reporter: Кирилл Уницаев <fiersik>
Component: ОбщееAssignee: Кирилл Уницаев <fiersik>
Status: CLOSED FIXED QA Contact: Кирилл Уницаев <fiersik>
Severity: minor    
Priority: P4 CC: ximper
Version: не указана   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 18853    

Description Кирилл Уницаев 2026-02-02 18:50:05 MSK
Планируется сделать так, чтобы ximperconf проверял конфигурацию перед перед стартом графики и отключал модули, в которых найдены ошибки.

Если какие-то модули отключились, пользователю показывается окно со списком модулей и ошибками в них.

Это полезно в случае, если при обновлении hyprland изменится важная переменная, hyprland может совсем не запуститься, пока в конфиге ошибка.
Comment 1 Кирилл Уницаев 2026-02-14 22:20:38 MSK
Для упрощения данной задачи была переделана внутренняя логика preset и проведён рефакторинг 
https://gitlab.eterfund.ru/ximperlinux/ximperconf/commit/72107231faca9b2e900a682d991f46fca93a3190
Comment 2 Кирилл Уницаев 2026-02-14 23:28:16 MSK
Сделал пробную версию.

ximperconf preset apply hyprland запускается перед стартом графики и проверяет конфиг, если есть ошибки, модули отключаются, а при старте графики появляется диалоговое окно со списком модулей и ошибок в них.
Comment 3 Кирилл Уницаев 2026-02-15 22:45:54 MSK
(Ответ Кирилл Уницаев на комментарий #2)
> Сделал пробную версию.
> 
> ximperconf preset apply hyprland запускается перед стартом графики и
> проверяет конфиг, если есть ошибки, модули отключаются, а при старте графики
> появляется диалоговое окно со списком модулей и ошибок в них.


Сильно улучшил и закоммитил:
https://gitlab.eterfund.ru/ximperlinux/ximperconf/commit/33f3fe93582a924222185ee7673774c8c313c973

Для проверки конфигурации используется вывод hyprland, он зачем-то дублировал лог по несколько раз.

Написал им: https://github.com/hyprwm/Hyprland/discussions/13282

В парсере сделал проверку на повтор строк и их игнорирование, заодно добавил json вывод для check:
https://gitlab.eterfund.ru/ximperlinux/ximperconf/commit/725ccfc32b4150ab1f80e3e9b99d60e6f3af59ea

задача выполнена.
Comment 4 Кирилл Уницаев 2026-02-15 22:48:31 MSK
В рамках данной задачи были также сделаны эти изменения:

https://gitlab.eterfund.ru/ximperlinux/ximperconf/commit/9934a3f1575dae15bf682a1ec3bc1bf8adf134f4 - в логе preset добавил задачам по hyprland префикс hypr/, пример: hypr/var

https://gitlab.eterfund.ru/ximperlinux/ximperconf/commit/841688ec8339e3991b1a29b5c69ae9b547b96904 - исправил форс режим для переменных.
Comment 5 Кирилл Уницаев 2026-02-15 22:49:14 MSK
Багу сразу закрываю