aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2025-11-24 15:19:01 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2025-11-24 15:19:13 +0300
commit9eeedff6295d17dd44594e2e8bcc1911f1535989 (patch)
tree482b764078d535125270da265984dafad94a9fd3 /src
parent0920ea9f9fdf0b744e79e8dea57d5945ba74f312 (diff)
downloadniri-9eeedff6295d17dd44594e2e8bcc1911f1535989.tar.gz
niri-9eeedff6295d17dd44594e2e8bcc1911f1535989.tar.bz2
niri-9eeedff6295d17dd44594e2e8bcc1911f1535989.zip
Remove hand-written ResolvedWindowRules::empty()
It was only needed to be const fn.
Diffstat (limited to 'src')
-rw-r--r--src/handlers/compositor.rs2
-rw-r--r--src/layout/tests.rs4
-rw-r--r--src/window/mod.rs73
3 files changed, 5 insertions, 74 deletions
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().