diff options
| -rw-r--r-- | niri-visual-tests/src/test_window.rs | 5 | ||||
| -rw-r--r-- | src/handlers/compositor.rs | 2 | ||||
| -rw-r--r-- | src/layout/tests.rs | 4 | ||||
| -rw-r--r-- | src/window/mod.rs | 73 |
4 files changed, 8 insertions, 76 deletions
diff --git a/niri-visual-tests/src/test_window.rs b/niri-visual-tests/src/test_window.rs index fa96860a..e9c0dd6d 100644 --- a/niri-visual-tests/src/test_window.rs +++ b/niri-visual-tests/src/test_window.rs @@ -33,6 +33,7 @@ struct TestWindowInner { pub struct TestWindow { id: usize, inner: Rc<RefCell<TestWindowInner>>, + rules: ResolvedWindowRules, } impl TestWindow { @@ -54,6 +55,7 @@ impl TestWindow { csd_shadow_width: 0, csd_shadow_buffer: SolidColorBuffer::new((0., 0.), [0., 0., 0., 0.3]), })), + rules: ResolvedWindowRules::default(), } } @@ -251,8 +253,7 @@ impl LayoutElement for TestWindow { fn refresh(&self) {} fn rules(&self) -> &ResolvedWindowRules { - static EMPTY: ResolvedWindowRules = ResolvedWindowRules::empty(); - &EMPTY + &self.rules } fn take_animation_snapshot(&mut self) -> Option<LayoutElementRenderSnapshot> { diff --git a/src/handlers/compositor.rs b/src/handlers/compositor.rs index dd5bb761..8b8a04d3 100644 --- a/src/handlers/compositor.rs +++ b/src/handlers/compositor.rs @@ -135,7 +135,7 @@ impl CompositorHandler for State { // there are in-flight pending configures. debug!("window mapped without proper initial configure"); ( - ResolvedWindowRules::empty(), + ResolvedWindowRules::default(), None, None, false, diff --git a/src/layout/tests.rs b/src/layout/tests.rs index e022475a..1942a11f 100644 --- a/src/layout/tests.rs +++ b/src/layout/tests.rs @@ -92,7 +92,7 @@ impl TestWindow { is_pending_windowed_fullscreen: Cell::new(false), animate_next_configure: Cell::new(false), animation_snapshot: RefCell::new(None), - rules: params.rules.unwrap_or(ResolvedWindowRules::empty()), + rules: params.rules.unwrap_or_default(), })) } @@ -357,7 +357,7 @@ prop_compose! { ResolvedWindowRules { focus_ring, border, - ..ResolvedWindowRules::empty() + ..ResolvedWindowRules::default() } } } diff --git a/src/window/mod.rs b/src/window/mod.rs index 89669fe1..c8c358f1 100644 --- a/src/window/mod.rs +++ b/src/window/mod.rs @@ -30,7 +30,7 @@ pub enum WindowRef<'a> { } /// Rules fully resolved for a window. -#[derive(Debug, PartialEq, Clone)] +#[derive(Debug, Default, PartialEq, Clone)] pub struct ResolvedWindowRules { /// Default width for this window. /// @@ -174,79 +174,10 @@ impl<'a> WindowRef<'a> { } impl ResolvedWindowRules { - pub const fn empty() -> Self { - Self { - default_width: None, - default_height: None, - default_column_display: None, - default_floating_position: None, - open_on_output: None, - open_on_workspace: None, - open_maximized: None, - open_maximized_to_edges: None, - open_fullscreen: None, - open_floating: None, - open_focused: None, - min_width: None, - min_height: None, - max_width: None, - max_height: None, - focus_ring: BorderRule { - off: false, - on: false, - width: None, - active_color: None, - inactive_color: None, - urgent_color: None, - active_gradient: None, - inactive_gradient: None, - urgent_gradient: None, - }, - border: BorderRule { - off: false, - on: false, - width: None, - active_color: None, - inactive_color: None, - urgent_color: None, - active_gradient: None, - inactive_gradient: None, - urgent_gradient: None, - }, - shadow: ShadowRule { - off: false, - on: false, - offset: None, - softness: None, - spread: None, - draw_behind_window: None, - color: None, - inactive_color: None, - }, - tab_indicator: TabIndicatorRule { - active_color: None, - inactive_color: None, - urgent_color: None, - active_gradient: None, - inactive_gradient: None, - urgent_gradient: None, - }, - draw_border_with_background: None, - opacity: None, - geometry_corner_radius: None, - clip_to_geometry: None, - baba_is_float: None, - block_out_from: None, - variable_refresh_rate: None, - scroll_factor: None, - tiled_state: None, - } - } - pub fn compute(rules: &[WindowRule], window: WindowRef, is_at_startup: bool) -> Self { let _span = tracy_client::span!("ResolvedWindowRules::compute"); - let mut resolved = ResolvedWindowRules::empty(); + let mut resolved = ResolvedWindowRules::default(); with_toplevel_role(window.toplevel(), |role| { // Ensure server_pending like in Smithay's with_pending_state(). |
