我想编写一个 Gnome-Shell 扩展,它可以告诉会话多久没有收到任何用户输入。我知道调用 XScreenSaverQueryInfo会给我该信息,但我找不到从我的 gjs 扩展中调用它的方法。我需要做什么才能使其正常工作?
问问题
530 次
1 回答
3
可能最简单的方法是使用 D-Bus 调用路径org.gnome.Mutter.IdleMonitor.GetIdletime
上的方法。这将为您提供 shell 没有看到任何用户输入的毫秒时间。/org/gnome/Mutter/IdleMonitor/Core
org.gnome.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 支持从您的扩展中调用该方法。这里有一个例子。
于 2017-10-03T08:06:26.013 回答