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}"))
|
||
|
|
}
|