javascript - 从 Gnome-Shell 扩展中使用 C 库

标签 javascript gnome gnome-shell

我想编写一个 Gnome-Shell 扩展,它可以判断 session 多长时间没有收到任何用户输入。我知道 calling XScreenSaverQueryInfo会给我这些信息,但我找不到从我的 gjs 扩展中调用它的方法。我需要做什么才能让它发挥作用?

最佳答案

可能最简单的方法是使用 D-Bus 调用 /org/gnome/Mutter/IdleMonitor/上的 org.gnome.Mutter.IdleMonitor.GetIdletime 方法org.gnome.Shell 的核心 路径。这将为您提供 shell 没有看到任何用户输入的时间(以毫秒为单位)。

您可以使用以下命令在命令行上对此进行测试:

while true; do
  gdbus call --session --dest org.gnome.Shell \
    --object-path /org/gnome/Mutter/IdleMonitor/Core \
    --method org.gnome.Mutter.IdleMonitor.GetIdletime
done

您可以使用来自 GJS 的 GIO 的 D-Bus 支持来从您的扩展中调用该方法。有一个example here .

关于javascript - 从 Gnome-Shell 扩展中使用 C 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7880825/

相关文章:

javascript - 如何在 Angular 中设置未知高度的动画?

touchscreen - 如何在 gnome 3.14 中禁用边缘触摸屏手势

python - GNOME 面板小程序执行问题

gnome-shell - 将 "open with other application"显示为子菜单

gnome - 如何处理 gnome shell 扩展中的键盘事件?

javascript - 在加载时和预选时显示条件表单字段

javascript - jQuery clone() 附加到多个元素而不是仅一个元素

javascript - jquery如何取消选中单选按钮

linux - Qt - 如何检测应用程序是在 GNOME 还是 KDE 上运行?

linux - xdotool 类型需要很长时间并导致整个桌面卡住