only write non-default attributes to state

This commit is contained in:
galister
2026-02-05 11:54:51 +09:00
parent e61fd66210
commit ac65bca05a
2 changed files with 14 additions and 1 deletions

View File

@@ -460,6 +460,7 @@ impl<T> OverlayWindowManager<T> {
SAVED_ATTRIBS
.iter()
.filter_map(|a| o.config.backend.get_attrib(*a))
.filter(|val| !val.is_default())
.collect(),
);
}

View File

@@ -38,6 +38,18 @@ pub enum BackendAttribValue {
Icon(Arc<str>),
}
impl BackendAttribValue {
pub fn is_default(&self) -> bool {
match self {
Self::Stereo(val) => *val == StereoMode::default(),
Self::StereoFullFrame(val) => *val == false,
Self::StereoAdjustMouse(val) => *val == false,
Self::MouseTransform(val) => *val == MouseTransform::default(),
Self::Icon(_) => false,
}
}
}
#[derive(Default, Debug, Clone, Copy, Serialize, Deserialize, PartialEq)]
pub enum StereoMode {
#[default]
@@ -48,7 +60,7 @@ pub enum StereoMode {
BottomTop,
}
#[derive(Default, Debug, Clone, Copy, Serialize, Deserialize)]
#[derive(Default, Debug, Clone, Copy, Serialize, Deserialize, PartialEq)]
pub enum MouseTransform {
#[default]
Default,