aboutsummaryrefslogtreecommitdiff
path: root/src/window
diff options
context:
space:
mode:
Diffstat (limited to 'src/window')
-rw-r--r--src/window/mapped.rs26
1 files changed, 4 insertions, 22 deletions
diff --git a/src/window/mapped.rs b/src/window/mapped.rs
index 6ebb7a32..3fd0a259 100644
--- a/src/window/mapped.rs
+++ b/src/window/mapped.rs
@@ -1,7 +1,7 @@
use std::cell::RefCell;
use std::cmp::{max, min};
-use niri_config::{BlockOutFrom, WindowRule};
+use niri_config::WindowRule;
use smithay::backend::renderer::element::solid::{SolidColorBuffer, SolidColorRenderElement};
use smithay::backend::renderer::element::surface::render_elements_from_surface_tree;
use smithay::backend::renderer::element::{Id, Kind};
@@ -207,13 +207,7 @@ impl LayoutElement for Mapped {
) -> SplitElements<LayoutElementRenderElement<R>> {
let mut rv = SplitElements::default();
- let block_out = match self.rules.block_out_from {
- None => false,
- Some(BlockOutFrom::Screencast) => target == RenderTarget::Screencast,
- Some(BlockOutFrom::ScreenCapture) => target != RenderTarget::Output,
- };
-
- if block_out {
+ if target.should_block_out(self.rules.block_out_from) {
let mut buffer = self.block_out_buffer.borrow_mut();
buffer.resize(self.window.geometry().size);
let elem = SolidColorRenderElement::from_buffer(
@@ -262,13 +256,7 @@ impl LayoutElement for Mapped {
alpha: f32,
target: RenderTarget,
) -> Vec<LayoutElementRenderElement<R>> {
- let block_out = match self.rules.block_out_from {
- None => false,
- Some(BlockOutFrom::Screencast) => target == RenderTarget::Screencast,
- Some(BlockOutFrom::ScreenCapture) => target != RenderTarget::Output,
- };
-
- if block_out {
+ if target.should_block_out(self.rules.block_out_from) {
let mut buffer = self.block_out_buffer.borrow_mut();
buffer.resize(self.window.geometry().size);
let elem = SolidColorRenderElement::from_buffer(
@@ -301,13 +289,7 @@ impl LayoutElement for Mapped {
alpha: f32,
target: RenderTarget,
) -> Vec<LayoutElementRenderElement<R>> {
- let block_out = match self.rules.block_out_from {
- None => false,
- Some(BlockOutFrom::Screencast) => target == RenderTarget::Screencast,
- Some(BlockOutFrom::ScreenCapture) => target != RenderTarget::Output,
- };
-
- if block_out {
+ if target.should_block_out(self.rules.block_out_from) {
vec![]
} else {
let mut rv = vec![];