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

解决方法:

可能最简单的方法是使用D-Bus在org.gnome.Shell的/ org / gnome / Mutter / IdleMonitor / Core路径上调用org.gnome.Mutter.IdleMonitor.GetIdletime方法.这将为您提供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.

标签: gnome, javascript, gnome-shell

相关文章推荐

添加新评论,含*的栏目为必填