aboutsummaryrefslogtreecommitdiff
path: root/src/niri.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-03-23 10:35:12 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-03-23 15:45:44 +0400
commit354f0b039a768c77e9c703cbcbca693f0b8c6f96 (patch)
treea00568e3318202e1011f9af7f2b1cdad9dc3044a /src/niri.rs
parentd120e0c45142251b7c59b3a36f9bda709a58095e (diff)
downloadniri-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.rs12
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 {