bspc_rust_lib 0.2.0

A library that allows bspc commands to be executed through rust programs
Documentation
use crate::bspc::{cycle_direction::CycleDir, descriptor::Descriptor};

pub enum MonitorDescriptor {
    CycleDir(CycleDir),
    Any,
    Last,
    Newest,
    Older,
    Newer,
    Focused,
    Pointed,
    Primary,
    Nth(u32),
    Id(String),
    Name(String)
}

impl Descriptor for MonitorDescriptor {
    fn get_string(&self) -> String {
        match self {
            MonitorDescriptor::CycleDir(cycle_dir) => cycle_dir.get_string(),
            MonitorDescriptor::Any => "any".to_string(),
            MonitorDescriptor::Last => "last".to_string(),
            MonitorDescriptor::Newest => "newest".to_string(),
            MonitorDescriptor::Older => "older".to_string(),
            MonitorDescriptor::Newer => "newer".to_string(),
            MonitorDescriptor::Focused => "focused".to_string(),
            MonitorDescriptor::Pointed => "pointed".to_string(),
            MonitorDescriptor::Primary => "primary".to_string(),
            MonitorDescriptor::Nth(n) => format!("^{}", n),
            MonitorDescriptor::Id(id) => id.to_string(),
            MonitorDescriptor::Name(name) => name.to_string()
        }
    }
}