【问题标题】:Detect status of an input caret under any or most Linux DE's?在任何或大多数 Linux DE 下检测输入插入符号的状态?
【发布时间】:2020-06-01 23:06:16
【问题描述】:

所以我为 Gnome 3 w/ibus 提出了这个解决方案,但我需要一些在 KDE 和 XFCE 下也能工作的东西,或者根本不依赖于 DE。我只需要知道文本字段当前是否正在等待输入,这是当前在 Ubuntu 19.10 下运行的解决方案。

我只需要使它与其他 DE 的交叉兼容。

IBUSADD=$(cat ~/.config/ibus/bus/`ls ~/.config/ibus/bus -1rt | tail -n1` | awk -F'IBUS_ADDRESS=' '{print $2}' | xargs)

dbus-monitor --address $IBUSADD "path='/org/freedesktop/IBus/Panel/Extension/Emoji',interface='org.freedesktop.IBus.Panel',member='FocusOut'"

如果需要安装 ibus,那么这是我安装的,但在 GalliumOS (xfce) 下,我仍然无法访问 org.freedesktop.ibus.panel 位置。我需要另辟蹊径。

# Actually ibus-mozc ibus-anthy installs japanese support - 
# may not need to do that just to run ibus-setup.. 
# unless it brings in missing dependencies for ibus-setup?
sudo apt-get install ibus-mozc ibus-anthy
ibus-setup

我也很高兴看到任何用 C 编写的解决方案,但是 bash 或脚本语言解决方案可以正常工作,就像我目前拥有的那样。

【问题讨论】:

    标签: linux bash keyboard keyboard-events dbus


    【解决方案1】:

    很确定我刚刚找到了一个或多或少解决这个问题的答案。替代方案将不胜感激,但我现在意识到,我安装 ibus 的另一个系统只需要通过下拉菜单将其键盘输入移动到使用 ibus。

    在其他地方找到的启用它的命令也想查询它,但似乎找不到 get 命令。

    im-config -n ibus
    

    此外,如果过滤器不太具体,上述解决方案实际上可以工作。删除任何提及表情符号扩展(可能启用也可能不启用)就足够了,并且据我所知,该解决方案与任何与 IBus 一起使用的 DE 兼容。

    path='/org/freedesktop/IBus/Panel
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-03
      • 1970-01-01
      • 2020-01-20
      • 2015-01-19
      相关资源
      最近更新 更多