nanpa/src/bin/nanpac.rs

33 lines
827 B
Rust

use dbus::blocking::Connection;
use std::time::Duration;
use structopt::StructOpt;
#[derive(Debug, StructOpt)]
#[structopt(name = "nanpac", about = "controls nanpad via dbus")]
enum Cmd {
Switch { workspace: u32 },
Move { workspace: u32 },
}
fn main() -> Result<(), Box<dyn std::error::Error>> {
env_logger::init();
let opt = Cmd::from_args();
log::debug!("{:?}", opt);
let conn = Connection::new_session()?;
let proxy = conn.with_proxy("website.christine.nanpa", "/", Duration::from_millis(5000));
match opt {
Cmd::Switch { workspace } => {
proxy.method_call("website.christine.nanpa", "Switch", (workspace,))?
}
Cmd::Move { workspace } => {
proxy.method_call("website.christine.nanpa", "Move", (workspace,))?
}
}
Ok(())
}