javascript – 使用Gnome-Shell扩展中的C库

我想写一个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.

点赞