added sending closing event message to settings windows
Pull request / build (pull_request) Successful in 39s

This commit is contained in:
2026-08-14 02:18:47 +05:00
parent 70b83a5fec
commit 81587988f2
7 changed files with 303 additions and 8 deletions
+12 -4
View File
@@ -84,20 +84,28 @@ MSIX всегда выполняются в контексте вошедшег
раскладкой. Без UI, и так должно остаться: всё, что попадёт туда, попадёт и
в фоновый процесс.
Связь между ними — только `settings.json`. Окно пишет его целиком, во временный
файл, который одним движением встаёт на место, и посылает агенту
зарегистрированное оконное сообщение, по которому тот перечитывает файл.
Всё, что окно сообщает агенту, идёт только через `settings.json`. Окно пишет его
целиком, во временный файл, который одним движением встаёт на место, и посылает
агенту зарегистрированное оконное сообщение, по которому тот перечитывает файл.
Сообщение не несёт данных: пересылка самих изменений лишила бы файл роли
единственного источника правды. Работающий агент необязателен — без него окно
работает так же. За файлом никто не следит: писатель у него один, и он сам
сообщает о записи.
В обратную сторону агент говорит одно слово, и то последнее: пункт «Выход» в меню
трея просит открытое окно настроек закрыться, прежде чем агент уйдёт, — чтобы на
экране не осталось окна, которому больше ничего не принадлежит. Просьба идёт
именованным событием сессии, а не оконным сообщением: агент запускает этот процесс
и намеренно не держит на него ссылки. Чаще всего слушать её некому, и это
нормальный ответ.
## Трей
Окно настроек — гость на экране, а не само приложение: оно показывается после
установки и всякий раз, когда его просят иконка или её меню. Обе кнопки в
заголовке окна означают ровно то, что написано: окно закрывается, а его процесс
завершается. Выход из самого приложения — пункт «Выход» в меню трея.
завершается. Выход из самого приложения — пункт «Выход» в меню трея, и открытое
окно настроек он закрывает вместе с агентом.
Меню иконки системное, его рисует Windows. Надписи по-прежнему следуют языку,
выбранному в настройках, а тема до меню больше не дотягивается: меню на WPF