diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-03-23 10:35:12 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-03-23 15:45:44 +0400 |
| commit | 354f0b039a768c77e9c703cbcbca693f0b8c6f96 (patch) | |
| tree | a00568e3318202e1011f9af7f2b1cdad9dc3044a /src/niri.rs | |
| parent | d120e0c45142251b7c59b3a36f9bda709a58095e (diff) | |
| download | niri-354f0b039a768c77e9c703cbcbca693f0b8c6f96.tar.gz niri-354f0b039a768c77e9c703cbcbca693f0b8c6f96.tar.bz2 niri-354f0b039a768c77e9c703cbcbca693f0b8c6f96.zip | |
Pass Un/Mapped to window rule resolution
Diffstat (limited to 'src/niri.rs')
| -rw-r--r-- | src/niri.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/niri.rs b/src/niri.rs index 49592cf6..54c99453 100644 --- a/src/niri.rs +++ b/src/niri.rs @@ -115,7 +115,7 @@ use crate::utils::{ center, center_f64, get_monotonic_time, make_screenshot_path, output_size, write_png_rgba8, }; use crate::wheel_tracker::WheelTracker; -use crate::window::{InitialConfigureState, Mapped, ResolvedWindowRules, Unmapped}; +use crate::window::{InitialConfigureState, Mapped, ResolvedWindowRules, Unmapped, WindowRef}; use crate::{animation, niri_render_elements}; const CLEAR_COLOR: [f32; 4] = [0.2, 0.2, 0.2, 1.]; @@ -880,17 +880,17 @@ impl State { let window_rules = &self.niri.config.borrow().window_rules; for unmapped in self.niri.unmapped_windows.values_mut() { + let new_rules = + ResolvedWindowRules::compute(window_rules, WindowRef::Unmapped(unmapped)); if let InitialConfigureState::Configured { rules, .. } = &mut unmapped.state { - *rules = ResolvedWindowRules::compute( - window_rules, - unmapped.window.toplevel().expect("no X11 support"), - ); + *rules = new_rules; } } let mut windows = vec![]; self.niri.layout.with_windows_mut(|mapped, _| { - mapped.rules = ResolvedWindowRules::compute(window_rules, mapped.toplevel()); + mapped.rules = + ResolvedWindowRules::compute(window_rules, WindowRef::Mapped(mapped)); windows.push(mapped.window.clone()); }); for win in windows { |
