Добавлена работа в трее и версия 0.6.1
Приложение теперь может сворачиваться в трей вместо закрытия: обход продолжает работать в фоне, иконка в трее показывает статус и позволяет включить/выключить обход без открытия окна. Добавлен автозапуск самого приложения вместе с системой (свёрнутым в трей).
This commit is contained in:
@@ -19,6 +19,24 @@ export interface ThemeState {
|
||||
shouldUseDarkColors: boolean
|
||||
}
|
||||
|
||||
/**
|
||||
* Фоновая работа: трей + автозапуск самого приложения.
|
||||
*
|
||||
* Не путать с `ZapretStatus.autoStart` — тот про автозапуск обхода (служба Windows,
|
||||
* LaunchDaemon macOS) вообще без приложения.
|
||||
*/
|
||||
export interface BackgroundSettings {
|
||||
/** Закрытие окна прячет его в трей, а не завершает приложение. */
|
||||
closeToTray: boolean
|
||||
/** Приложение запускается вместе с системой, сразу свёрнутым в трей. */
|
||||
launchAtLogin: boolean
|
||||
/**
|
||||
* Иконка в трее реально создалась. На Linux без AppIndicator трея нет — тогда прятать
|
||||
* туда окно нельзя, и всю группу настроек показывать бессмысленно.
|
||||
*/
|
||||
trayAvailable: boolean
|
||||
}
|
||||
|
||||
/** Состояние обхода блокировок. */
|
||||
export type ZapretState = 'stopped' | 'starting' | 'running' | 'stopping' | 'error'
|
||||
|
||||
@@ -112,6 +130,14 @@ export interface IpcHandlers {
|
||||
/** Windows: подтверждает диалогом ОС, запускает деинсталлятор и закрывает приложение. */
|
||||
'app:uninstall': () => void
|
||||
|
||||
'app:background-get': () => BackgroundSettings
|
||||
/**
|
||||
* Меняет переданные поля и возвращает состояние целиком. `launchAtLogin` идёт в систему
|
||||
* (планировщик задач, SMAppService, каталог автозапуска) и может не примениться — тогда
|
||||
* канал отвечает ошибкой, а не молча возвращает старое значение.
|
||||
*/
|
||||
'app:background-set': (patch: Partial<BackgroundSettings>) => BackgroundSettings
|
||||
|
||||
'zapret:status': () => ZapretStatus
|
||||
'zapret:strategies': () => ZapretStrategy[]
|
||||
'zapret:start': (strategyId: string) => ZapretStatus
|
||||
|
||||
Reference in New Issue
Block a user