aboutsummaryrefslogtreecommitdiff
path: root/src/config.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2023-09-30 11:33:02 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2023-09-30 11:33:02 +0400
commit21737abbfdb78698e323c0a9490759b427370a74 (patch)
tree37b702f5fbdebedfef99490b1b5be92d7c7b9597 /src/config.rs
parenta413f3e91d3538cc16d82880129732df7e31ec86 (diff)
downloadniri-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.rs13
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()],