fcitx5-dbus 0.1.0

fcitx5 dbus interface for rust
Documentation

fcitx5-dbus

Introduce

This crate wrapped fcitx5 dbus interface for rust.
You could use this crate to develop somthing like plugins.

Use

  • Toggle input method between pinyin(Chinese) and us(English):
// Cargo.toml
//
// [dependencies]
// fcitx5-dbus = "1.0"
use fcitx5_dbus::zbus::{blocking::Connection, Result};

fn main() -> Result<()> {
    let conn = Connection::session()?;
    let controller = fcitx5_dbus::controller::ControllerProxyBlocking::new(&conn)?;
    controller.toggle()?;
    Ok(())
}
  • Toggle asynchronously:
// Cargo.toml
//
// [dependencies]
// fcitx5-dbus = "1.0"
// tokio = { version = "1.42.0", features = ["full"] }
use fcitx5_dbus::zbus::{Connection, Result};

#[tokio::main]
async fn main() -> Result<()> {
    let conn = Connection::session().await?;
    let controller = fcitx5_dbus::controller::ControllerProxy::new(&conn).await?;
    controller.toggle().await?;
    Ok(())
}