diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-04-21 20:10:35 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-04-21 20:16:54 +0400 |
| commit | 49f5402669012be33f8cd111311c3e39fd4751c0 (patch) | |
| tree | a90eab10775b63cddb0772923d43875ee13ef8b6 /src/niri.rs | |
| parent | 2ecbb3f6f8ceacdccc66a597e372c70029325dbf (diff) | |
| download | niri-49f5402669012be33f8cd111311c3e39fd4751c0.tar.gz niri-49f5402669012be33f8cd111311c3e39fd4751c0.tar.bz2 niri-49f5402669012be33f8cd111311c3e39fd4751c0.zip | |
Implement window-resize custom-shader
Diffstat (limited to 'src/niri.rs')
| -rw-r--r-- | src/niri.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/niri.rs b/src/niri.rs index 145d143e..861e53f1 100644 --- a/src/niri.rs +++ b/src/niri.rs @@ -107,7 +107,9 @@ use crate::protocols::gamma_control::GammaControlManagerState; use crate::protocols::screencopy::{Screencopy, ScreencopyManagerState}; use crate::pw_utils::{Cast, PipeWire}; use crate::render_helpers::renderer::NiriRenderer; -use crate::render_helpers::{render_to_shm, render_to_texture, render_to_vec, RenderTarget}; +use crate::render_helpers::{ + render_to_shm, render_to_texture, render_to_vec, shaders, RenderTarget, +}; use crate::scroll_tracker::ScrollTracker; use crate::ui::config_error_notification::ConfigErrorNotification; use crate::ui::exit_confirm_dialog::ExitConfirmDialog; @@ -895,6 +897,15 @@ impl State { window_rules_changed = true; } + if config.animations.window_resize.custom_shader + != old_config.animations.window_resize.custom_shader + { + let src = config.animations.window_resize.custom_shader.as_deref(); + self.backend.with_primary_renderer(|renderer| { + shaders::set_custom_resize_program(renderer, src); + }); + } + *old_config = config; // Release the borrow. |
