diff --git a/wayvr/src/windowing/manager.rs b/wayvr/src/windowing/manager.rs index 283b0c3..3bfb613 100644 --- a/wayvr/src/windowing/manager.rs +++ b/wayvr/src/windowing/manager.rs @@ -460,6 +460,7 @@ impl OverlayWindowManager { SAVED_ATTRIBS .iter() .filter_map(|a| o.config.backend.get_attrib(*a)) + .filter(|val| !val.is_default()) .collect(), ); } diff --git a/wlx-common/src/overlays.rs b/wlx-common/src/overlays.rs index f166aa6..8e45304 100644 --- a/wlx-common/src/overlays.rs +++ b/wlx-common/src/overlays.rs @@ -38,6 +38,18 @@ pub enum BackendAttribValue { Icon(Arc), } +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,