aboutsummaryrefslogtreecommitdiff
path: root/niri-config/src/lib.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-12-27 09:58:22 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2024-12-30 20:12:37 +0300
commit6fba4c371e7868f8d581cf3d49d611cdbb590ad4 (patch)
tree801c85e1ff6df4c9cdb9bcc916e91de70710a512 /niri-config/src/lib.rs
parent27911431dbfb8ad5e17ea295a9ae69847577260f (diff)
downloadniri-6fba4c371e7868f8d581cf3d49d611cdbb590ad4.tar.gz
niri-6fba4c371e7868f8d581cf3d49d611cdbb590ad4.tar.bz2
niri-6fba4c371e7868f8d581cf3d49d611cdbb590ad4.zip
Implement default-window-height window rule
Only works for floats that aren't initially fullscreen atm.
Diffstat (limited to 'niri-config/src/lib.rs')
-rw-r--r--niri-config/src/lib.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/niri-config/src/lib.rs b/niri-config/src/lib.rs
index 607d8f37..b1543b56 100644
--- a/niri-config/src/lib.rs
+++ b/niri-config/src/lib.rs
@@ -705,7 +705,7 @@ pub enum PresetSize {
Fixed(#[knuffel(argument)] i32),
}
-#[derive(Debug, Clone, PartialEq)]
+#[derive(Debug, Clone, Copy, PartialEq)]
pub struct DefaultPresetSize(pub Option<PresetSize>);
#[derive(knuffel::Decode, Debug, Default, Clone, Copy, PartialEq)]
@@ -975,6 +975,8 @@ pub struct WindowRule {
// Rules applied at initial configure.
#[knuffel(child)]
pub default_column_width: Option<DefaultPresetSize>,
+ #[knuffel(child)]
+ pub default_window_height: Option<DefaultPresetSize>,
#[knuffel(child, unwrap(argument))]
pub open_on_output: Option<String>,
#[knuffel(child, unwrap(argument))]
@@ -3145,6 +3147,7 @@ mod tests {
open-fullscreen false
open-floating false
open-focused true
+ default-window-height { fixed 500; }
focus-ring {
off
@@ -3425,6 +3428,7 @@ mod tests {
open_fullscreen: Some(false),
open_floating: Some(false),
open_focused: Some(true),
+ default_window_height: Some(DefaultPresetSize(Some(PresetSize::Fixed(500)))),
focus_ring: BorderRule {
off: true,
width: Some(FloatOrInt(3.)),