diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-12-29 10:39:21 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-12-30 20:12:37 +0300 |
| commit | 3c2e1554c6f1fe0d7d96094aa93f72f4ced613e5 (patch) | |
| tree | 9b3c883f1f3256e49250bb5c26716ebcf1a38bba /src/window | |
| parent | 744955ba69176a0e2937f18958908274583223d4 (diff) | |
| download | niri-3c2e1554c6f1fe0d7d96094aa93f72f4ced613e5.tar.gz niri-3c2e1554c6f1fe0d7d96094aa93f72f4ced613e5.tar.bz2 niri-3c2e1554c6f1fe0d7d96094aa93f72f4ced613e5.zip | |
Add default-floating-position window rule
Diffstat (limited to 'src/window')
| -rw-r--r-- | src/window/mod.rs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/window/mod.rs b/src/window/mod.rs index 1cf576df..868620f0 100644 --- a/src/window/mod.rs +++ b/src/window/mod.rs @@ -1,6 +1,8 @@ use std::cmp::{max, min}; -use niri_config::{BlockOutFrom, BorderRule, CornerRadius, Match, PresetSize, WindowRule}; +use niri_config::{ + BlockOutFrom, BorderRule, CornerRadius, FoIPosition, Match, PresetSize, WindowRule, +}; use smithay::reexports::wayland_protocols::xdg::shell::server::xdg_toplevel; use smithay::utils::{Logical, Size}; use smithay::wayland::compositor::with_states; @@ -41,6 +43,9 @@ pub struct ResolvedWindowRules { /// - `Some(Some(width))`: set to a particular height. pub default_height: Option<Option<PresetSize>>, + /// Default floating position for this window. + pub default_floating_position: Option<FoIPosition>, + /// Output to open this window on. pub open_on_output: Option<String>, @@ -137,6 +142,7 @@ impl ResolvedWindowRules { Self { default_width: None, default_height: None, + default_floating_position: None, open_on_output: None, open_on_workspace: None, open_maximized: None, @@ -219,6 +225,10 @@ impl ResolvedWindowRules { resolved.default_height = Some(x.0); } + if let Some(x) = rule.default_floating_position { + resolved.default_floating_position = Some(x); + } + if let Some(x) = rule.open_on_output.as_deref() { open_on_output = Some(x); } |
