aboutsummaryrefslogtreecommitdiff
path: root/src/layout/tile.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2025-09-20 12:57:40 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2025-10-02 09:33:08 +0300
commit2781d3a74338806f631acda99e9f702b1b59a3e6 (patch)
treeb7066f8476fe2ba0b18b961c0360001070ec54cb /src/layout/tile.rs
parente739ce8171705dd0b87c317cc0f4509b7f16f6df (diff)
downloadniri-2781d3a74338806f631acda99e9f702b1b59a3e6.tar.gz
niri-2781d3a74338806f631acda99e9f702b1b59a3e6.tar.bz2
niri-2781d3a74338806f631acda99e9f702b1b59a3e6.zip
config: Replace resolve_against with MergeWith
Diffstat (limited to 'src/layout/tile.rs')
-rw-r--r--src/layout/tile.rs29
1 files changed, 13 insertions, 16 deletions
diff --git a/src/layout/tile.rs b/src/layout/tile.rs
index 89c9f93d..a560bd55 100644
--- a/src/layout/tile.rs
+++ b/src/layout/tile.rs
@@ -1,6 +1,7 @@
use core::f64;
use std::rc::Rc;
+use niri_config::utils::MergeWith as _;
use niri_config::{Color, CornerRadius, GradientInterpolation};
use niri_ipc::WindowLayout;
use smithay::backend::renderer::element::{Element, Kind};
@@ -174,15 +175,15 @@ impl<W: LayoutElement> Tile<W> {
options: Rc<Options>,
) -> Self {
let rules = window.rules();
- let border_config = rules.border.resolve_against(options.border);
- let focus_ring_config = rules.focus_ring.resolve_against(options.focus_ring.into());
- let shadow_config = rules.shadow.resolve_against(options.shadow);
+ let border_config = options.border.merged_with(&rules.border);
+ let focus_ring_config = options.focus_ring.merged_with(&rules.focus_ring);
+ let shadow_config = options.shadow.merged_with(&rules.shadow);
let is_fullscreen = window.is_fullscreen();
Self {
window,
border: FocusRing::new(border_config.into()),
- focus_ring: FocusRing::new(focus_ring_config.into()),
+ focus_ring: FocusRing::new(focus_ring_config),
shadow: Shadow::new(shadow_config),
is_fullscreen,
fullscreen_backdrop: SolidColorBuffer::new((0., 0.), [0., 0., 0., 1.]),
@@ -226,15 +227,13 @@ impl<W: LayoutElement> Tile<W> {
let rules = self.window.rules();
- let border_config = rules.border.resolve_against(self.options.border);
+ let border_config = self.options.border.merged_with(&rules.border);
self.border.update_config(border_config.into());
- let focus_ring_config = rules
- .focus_ring
- .resolve_against(self.options.focus_ring.into());
- self.focus_ring.update_config(focus_ring_config.into());
+ let focus_ring_config = self.options.focus_ring.merged_with(&rules.focus_ring);
+ self.focus_ring.update_config(focus_ring_config);
- let shadow_config = rules.shadow.resolve_against(self.options.shadow);
+ let shadow_config = self.options.shadow.merged_with(&rules.shadow);
self.shadow.update_config(shadow_config);
}
@@ -333,14 +332,12 @@ impl<W: LayoutElement> Tile<W> {
}
let rules = self.window.rules();
- let border_config = rules.border.resolve_against(self.options.border);
+ let border_config = self.options.border.merged_with(&rules.border);
self.border.update_config(border_config.into());
- let focus_ring_config = rules
- .focus_ring
- .resolve_against(self.options.focus_ring.into());
- self.focus_ring.update_config(focus_ring_config.into());
+ let focus_ring_config = self.options.focus_ring.merged_with(&rules.focus_ring);
+ self.focus_ring.update_config(focus_ring_config);
- let shadow_config = rules.shadow.resolve_against(self.options.shadow);
+ let shadow_config = self.options.shadow.merged_with(&rules.shadow);
self.shadow.update_config(shadow_config);
let window_size = self.window_size();