cffcec72b8
Первый инкремент Фазы 6 (docs/client-tauri.md): окно с тем же веб-клиентом (по умолчанию https://gl.mhspx.su, адрес настраивается), трей с меню и индикатором непрочитанных, нативные уведомления, глобальный push-to-talk и переключение микрофона/deafen, автозапуск, single-instance, сохранение геометрии окна, deep links glchat://…, автообновление по подписанному манифесту. Связь страницы с обёрткой — через платформенный адаптер (web/src/lib/platform.ts) и минимальный типизированный набор команд; в веб-клиенте появились системные уведомления об упоминаниях и личных сообщениях и переключатель в настройках. В web/src/stores/gateway.ts вместе с вызовом уведомления лежат правки по дефектам realtime (READY и сессии) из параллельной волны: файл коммитится целиком по договорённости с координатором.
26 lines
1.1 KiB
Rust
26 lines
1.1 KiB
Rust
//! Автозапуск приложения (docs/client-tauri.md §5).
|
|
//!
|
|
//! Запуск идёт с аргументом `--minimized`: приложение поднимается свёрнутым в
|
|
//! трей и не перебивает работу пользователя окном.
|
|
|
|
use tauri::{AppHandle, Runtime};
|
|
use tauri_plugin_autostart::ManagerExt;
|
|
|
|
/// Аргумент командной строки для запуска свёрнутым в трей.
|
|
pub const MINIMIZED_ARG: &str = "--minimized";
|
|
|
|
/// Приводит системный автозапуск в соответствие с настройкой.
|
|
pub fn apply<R: Runtime>(app: &AppHandle<R>, enabled: bool) -> Result<(), String> {
|
|
let manager = app.autolaunch();
|
|
let current = manager.is_enabled().unwrap_or(false);
|
|
if current == enabled {
|
|
return Ok(());
|
|
}
|
|
let result = if enabled {
|
|
manager.enable()
|
|
} else {
|
|
manager.disable()
|
|
};
|
|
result.map_err(|error| format!("не удалось изменить автозапуск: {error}"))
|
|
}
|