qdbus - org.fcitx.Fcitx

說明

這個範例,說明如何利用「qdbus」這個指令,來跟「fcitx」溝通,切換輸入法。

相關連結

範例

執行

$ qdbus org.fcitx.Fcitx

顯示

/
/MenuBar
/StatusNotifierItem
/inputmethod
/keyboard
/kimpanel

執行

$ qdbus org.fcitx.Fcitx /inputmethod

顯示

method QString org.freedesktop.DBus.Introspectable.Introspect()
signal void org.freedesktop.DBus.Properties.PropertiesChanged(QString interface_name, QVariantMap changed_properties, QStringList invalidated_properties)
method QDBusVariant org.freedesktop.DBus.Properties.Get(QString interface_name, QString property_name)
method QVariantMap org.freedesktop.DBus.Properties.GetAll(QString interface_name)
method void org.freedesktop.DBus.Properties.Set(QString interface_name, QString property_name, QDBusVariant value)
property readwrite QString org.fcitx.Fcitx.InputMethod.CurrentIM
property readwrite {D-Bus type "a(sssb)"} org.fcitx.Fcitx.InputMethod.IMList
method void org.fcitx.Fcitx.InputMethod.ActivateIM()
method void org.fcitx.Fcitx.InputMethod.Configure()
method void org.fcitx.Fcitx.InputMethod.ConfigureAddon(QString addon)
method void org.fcitx.Fcitx.InputMethod.ConfigureIM(QString im)
method int org.fcitx.Fcitx.InputMethod.CreateIC(uint& keyval1, uint& state1, uint& keyval2, uint& state2)
method int org.fcitx.Fcitx.InputMethod.CreateICv2(QString appname, bool& enable, uint& keyval1, uint& state1, uint& keyval2, uint& state2)
method int org.fcitx.Fcitx.InputMethod.CreateICv3(QString appname, int pid, bool& enable, uint& keyval1, uint& state1, uint& keyval2, uint& state2)
method void org.fcitx.Fcitx.InputMethod.Exit()
method QString org.fcitx.Fcitx.InputMethod.GetCurrentIM()
method int org.fcitx.Fcitx.InputMethod.GetCurrentState()
method QString org.fcitx.Fcitx.InputMethod.GetCurrentUI()
method QString org.fcitx.Fcitx.InputMethod.GetIMAddon(QString im)
method void org.fcitx.Fcitx.InputMethod.InactivateIM()
method void org.fcitx.Fcitx.InputMethod.ReloadAddonConfig(QString addon)
method void org.fcitx.Fcitx.InputMethod.ReloadConfig()
method void org.fcitx.Fcitx.InputMethod.ResetIMList()
method void org.fcitx.Fcitx.InputMethod.Restart()
method void org.fcitx.Fcitx.InputMethod.SetCurrentIM(QString im)
method void org.fcitx.Fcitx.InputMethod.ToggleIM()

執行

$ qdbus org.fcitx.Fcitx /inputmethod org.fcitx.Fcitx.InputMethod.GetCurrentIM

顯示

fcitx-keyboard-us

執行

$ qdbus --literal org.fcitx.Fcitx /inputmethod org.fcitx.Fcitx.InputMethod.GetCurrentIM

顯示

"fcitx-keyboard-us"

執行

$ qdbus org.fcitx.Fcitx /inputmethod org.fcitx.Fcitx.InputMethod.SetCurrentIM chewing

就會把輸入法切換到「fcitx-chewing (新酷音)」。

執行

$ qdbus org.fcitx.Fcitx /inputmethod org.fcitx.Fcitx.InputMethod.GetCurrentIM

顯示

chewing

執行

$ qdbus org.fcitx.Fcitx /inputmethod org.fcitx.Fcitx.InputMethod.SetCurrentIM fcitx-keyboard-us

就會把輸入法切回到「英文輸入」。