diff --git a/src/main.rs b/src/main.rs index ee0e9fb..d8416d4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,10 +5,12 @@ use crate::task::*; fn main() { let wm_task = WMTask::start(TaskConfig::new("polytreewm")).unwrap(); let comp_task = CompTask::start(TaskConfig::new("picom")).unwrap(); + let bar_task = BarTask::start(TaskConfig::new("polybar")).unwrap(); let wm_task_result = wm_task.wait(); comp_task.terminate(); + bar_task.terminate(); unsafe { libc::exit(wm_task_result.status()) } } @@ -19,6 +21,9 @@ struct WMTask(TaskInfo); #[derive(Debug)] struct CompTask(TaskInfo); +#[derive(Debug)] +struct BarTask(TaskInfo); + impl Task for WMTask { fn new(info: TaskInfo) -> Self { Self(info) @@ -38,3 +43,13 @@ impl Task for CompTask { &self.0 } } + +impl Task for BarTask { + fn new(info: TaskInfo) -> Self { + Self(info) + } + + fn info(&self) -> &TaskInfo { + &self.0 + } +}