Files
Genarrative/apps/desktop-shell/src-tauri/src/shell/window_state.rs
T
kdletters e4e890a147 锁定桌面窗口状态持久化边界
桌面壳窗口状态 flags 抽成可测试函数并覆盖排除可见性全屏和装饰状态

桌面壳配置门禁反查窗口状态 flags 单测边界

宿主壳方案协议和共享决策同步窗口状态验收口径
2026-06-20 09:16:10 +08:00

31 lines
942 B
Rust

use tauri::plugin::TauriPlugin;
use tauri::Runtime;
use tauri_plugin_window_state::StateFlags;
fn desktop_window_state_flags() -> StateFlags {
StateFlags::SIZE | StateFlags::POSITION | StateFlags::MAXIMIZED
}
pub(crate) fn desktop_window_state_plugin<R: Runtime>() -> TauriPlugin<R> {
tauri_plugin_window_state::Builder::default()
.with_state_flags(desktop_window_state_flags())
.build()
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn desktop_window_state_flags_keep_visible_state_out_of_persistence() {
let flags = desktop_window_state_flags();
assert!(flags.contains(StateFlags::SIZE));
assert!(flags.contains(StateFlags::POSITION));
assert!(flags.contains(StateFlags::MAXIMIZED));
assert!(!flags.contains(StateFlags::VISIBLE));
assert!(!flags.contains(StateFlags::FULLSCREEN));
assert!(!flags.contains(StateFlags::DECORATIONS));
}
}