使用来自 Gnome-Shell 扩展的 C 库

Dan*_*Dan 5 javascript gnome gnome-shell

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

Phi*_*all 4

也许最简单的方法是使用 D-Busorg.gnome.Mutter.IdleMonitor.GetIdletime调用. 这将为您提供 shell 未看到任何用户输入的时间(以毫秒为单位)。/org/gnome/Mutter/IdleMonitor/Coreorg.gnome.Shell

\n\n

您可以使用以下命令在命令行上进行测试:

\n\n
while true; do\n  gdbus call --session --dest org.gnome.Shell \\\n    --object-path /org/gnome/Mutter/IdleMonitor/Core \\\n    --method org.gnome.Mutter.IdleMonitor.GetIdletime\ndone\n
Run Code Online (Sandbox Code Playgroud)\n\n

您可以使用 GJS 的 GIO\xe2\x80\x99s D-Bus 支持来从扩展调用该方法。这里有\xe2\x80\x99s 的例子。

\n