diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-05-16 11:43:13 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-05-16 12:27:09 +0400 |
| commit | cbfc682f9abc9b4c02ea3c0f63a4403d037f14a4 (patch) | |
| tree | 8075783f9bdae04b3327e61ed613ebd8f4862896 /src/handlers | |
| parent | c64d9e5223a4a19fa718dc5a0b3e74dd6ee3b0e0 (diff) | |
| download | niri-cbfc682f9abc9b4c02ea3c0f63a4403d037f14a4.tar.gz niri-cbfc682f9abc9b4c02ea3c0f63a4403d037f14a4.tar.bz2 niri-cbfc682f9abc9b4c02ea3c0f63a4403d037f14a4.zip | |
Implement at-startup window rule
Diffstat (limited to 'src/handlers')
| -rw-r--r-- | src/handlers/xdg_shell.rs | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/handlers/xdg_shell.rs b/src/handlers/xdg_shell.rs index 30df1d5f..879bd1b0 100644 --- a/src/handlers/xdg_shell.rs +++ b/src/handlers/xdg_shell.rs @@ -581,8 +581,11 @@ impl State { }; let config = self.niri.config.borrow(); - let rules = - ResolvedWindowRules::compute(&config.window_rules, WindowRef::Unmapped(unmapped)); + let rules = ResolvedWindowRules::compute( + &config.window_rules, + WindowRef::Unmapped(unmapped), + self.niri.is_at_startup, + ); let Unmapped { window, state } = unmapped; @@ -876,8 +879,11 @@ impl State { let window_rules = &config.window_rules; if let Some(unmapped) = self.niri.unmapped_windows.get_mut(toplevel.wl_surface()) { - let new_rules = - ResolvedWindowRules::compute(window_rules, WindowRef::Unmapped(unmapped)); + let new_rules = ResolvedWindowRules::compute( + window_rules, + WindowRef::Unmapped(unmapped), + self.niri.is_at_startup, + ); if let InitialConfigureState::Configured { rules, .. } = &mut unmapped.state { *rules = new_rules; } @@ -886,7 +892,7 @@ impl State { .layout .find_window_and_output_mut(toplevel.wl_surface()) { - if mapped.recompute_window_rules(window_rules) { + if mapped.recompute_window_rules(window_rules, self.niri.is_at_startup) { drop(config); let output = output.cloned(); let window = mapped.window.clone(); |
