use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(default)]
pub struct WindowConfig {
#[serde(default = "crate::defaults::window_opacity")]
pub window_opacity: f32,
#[serde(default = "crate::defaults::bool_false")]
pub window_always_on_top: bool,
#[serde(default = "crate::defaults::bool_true")]
pub window_decorations: bool,
#[serde(default = "crate::defaults::bool_false")]
pub blur_enabled: bool,
#[serde(default = "crate::defaults::blur_radius")]
pub blur_radius: u32,
#[serde(default = "crate::defaults::window_padding")]
pub window_padding: f32,
#[serde(default = "crate::defaults::bool_true")]
pub hide_window_padding_on_split: bool,
#[serde(default = "crate::defaults::snap_window_to_grid")]
pub snap_window_to_grid: bool,
}
impl Default for WindowConfig {
fn default() -> Self {
Self {
window_opacity: crate::defaults::window_opacity(),
window_always_on_top: crate::defaults::bool_false(),
window_decorations: crate::defaults::bool_true(),
blur_enabled: crate::defaults::bool_false(),
blur_radius: crate::defaults::blur_radius(),
window_padding: crate::defaults::window_padding(),
hide_window_padding_on_split: crate::defaults::bool_true(),
snap_window_to_grid: crate::defaults::snap_window_to_grid(),
}
}
}