使用Gnome-Shell扩展中的C库

时间:2011-10-24 19:26:30

标签: javascript gnome gnome-shell

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

1 个答案:

答案 0 :(得分:2)

最简单的方法可能是使用D-Bus在org.gnome.Mutter.IdleMonitor.GetIdletime路径/org/gnome/Mutter/IdleMonitor/Core上调用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支持从您的分机中调用该方法。有Object.assign