use std::process::Command;
#[derive(Debug)]
pub struct Layout {
generator: String,
arguments: String,
}
impl Layout {
pub fn default() -> Layout {
Layout {
generator: String::from("rivertile"),
arguments: String::from("-view-padding 6 -outer-padding 6"),
}
}
pub fn set_generator(&mut self, generator: &str) -> &mut Self {
self.generator = String::from(generator);
return self;
}
pub fn set_args(&mut self, args: &str) -> &mut Self {
self.arguments = String::from(args);
return self;
}
pub fn spawn(&self) {
let args: Vec<&str> = self.arguments.trim().split_whitespace().collect();
Command::new("riverctl")
.args(["default-layout", self.generator.as_str()])
.spawn()
.expect("Can't set default layout generator");
Command::new(self.generator.as_str())
.args(args)
.spawn()
.expect("Can't launch layout generator");
}
}