diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2023-09-30 11:33:02 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2023-09-30 11:33:02 +0400 |
| commit | 21737abbfdb78698e323c0a9490759b427370a74 (patch) | |
| tree | 37b702f5fbdebedfef99490b1b5be92d7c7b9597 /src/config.rs | |
| parent | a413f3e91d3538cc16d82880129732df7e31ec86 (diff) | |
| download | niri-21737abbfdb78698e323c0a9490759b427370a74.tar.gz niri-21737abbfdb78698e323c0a9490759b427370a74.tar.bz2 niri-21737abbfdb78698e323c0a9490759b427370a74.zip | |
Make output position configurable
Implements https://github.com/YaLTeR/niri/issues/14
Diffstat (limited to 'src/config.rs')
| -rw-r--r-- | src/config.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/config.rs b/src/config.rs index 82ff7fb2..a261c64c 100644 --- a/src/config.rs +++ b/src/config.rs @@ -77,6 +77,8 @@ pub struct Output { pub name: String, #[knuffel(child, unwrap(argument), default = 1.)] pub scale: f64, + #[knuffel(child)] + pub position: Option<Position>, } impl Default for Output { @@ -84,11 +86,20 @@ impl Default for Output { Self { name: String::new(), scale: 1., + position: None, } } } #[derive(knuffel::Decode, Debug, Clone, PartialEq, Eq)] +pub struct Position { + #[knuffel(property)] + pub x: i32, + #[knuffel(property)] + pub y: i32, +} + +#[derive(knuffel::Decode, Debug, Clone, PartialEq, Eq)] pub struct SpawnAtStartup { #[knuffel(arguments)] pub command: Vec<String>, @@ -342,6 +353,7 @@ mod tests { output "eDP-1" { scale 2.0 + position x=10 y=20 } spawn-at-startup "alacritty" "-e" "fish" @@ -387,6 +399,7 @@ mod tests { outputs: vec![Output { name: "eDP-1".to_owned(), scale: 2., + position: Some(Position { x: 10, y: 20 }), }], spawn_at_startup: vec![SpawnAtStartup { command: vec!["alacritty".to_owned(), "-e".to_owned(), "fish".to_owned()], |
