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