From e96238730791df1eccf9541b7cb7693ef4274896 Mon Sep 17 00:00:00 2001 From: lilydjwg Date: Wed, 9 Nov 2022 12:32:49 +0800 Subject: [PATCH] add support for fcitx5-rime https://github.com/fcitx/fcitx5-rime/issues/30#issuecomment-957001110 --- plugin/fcitx.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/plugin/fcitx.py b/plugin/fcitx.py index 901d439..8ef82d4 100644 --- a/plugin/fcitx.py +++ b/plugin/fcitx.py @@ -18,8 +18,26 @@ class FcitxComm(): def deactivate(self): self.fcitx.Deactivate() +class FcitxRimeComm(): + def __init__(self): + bus = dbus.SessionBus() + obj = bus.get_object('org.fcitx.Fcitx5', '/rime') + self.fcitx = dbus.Interface(obj, dbus_interface='org.fcitx.Fcitx.Rime1') + + def status(self): + return self.fcitx.IsAsciiMode() + + def activate(self): + self.fcitx.SetAsciiMode(False) + + def deactivate(self): + self.fcitx.SetAsciiMode(True) + try: - Fcitx = FcitxComm() + if vim.eval('get(g:, "fcitx5_rime")') == '1': + Fcitx = FcitxRimeComm() + else: + Fcitx = FcitxComm() fcitx_loaded = True except dbus.exceptions.DBusException as e: if not vim.vars.get('silent_unsupported'):