我想編寫一個Gnome-Shell擴展,它可以告訴一個會話多長時間沒有收到任何用戶輸入。我知道calling XScreenSaverQueryInfo會給我這些信息,但我找不到從我的gjs擴展名中調用它的方法。我需要做些什麼來實現這個目標?使用Gnome-Shell擴展中的C庫
4
A
回答
1
可能最容易的方法是使用D-Bus調用org.gnome.Mutter.IdleMonitor.GetIdletime
方法/org/gnome/Mutter/IdleMonitor/Core
路徑org.gnome.Shell
。這會給你毫秒的時間,shell沒有看到任何用戶輸入。
您可以在命令行上使用: 進行測試,但爲true;做gdbus調用--session - 最後org.gnome.Shell --object-path/org/gnome/Mutter/IdleMonitor/Core --method org.gnome.Mutter.IdleMonitor.GetIdletime;完成
您可以使用GIO的GIO支持從您的擴展調用該方法。有一個example here。
+0
6年過去了,正是我在找的!我走了一條與此不同的路線,但這是正確的解決方案,更好,如果我有機會,我可以嘗試。 – user37078
相關問題
- 1. 在C中的擴展庫#
- 2. 使用C++的PHP擴展
- 3. 擴展開發中使用C/C++
- 4. 擴展使用C#泛型?
- 5. C# - 使用擴展方法
- 6. Pygame;使C擴展
- 7. 本地C擴展(如果庫可用)
- 8. 在Firefox擴展中使用jQuery擴展
- 9. 笨擴展庫+使用另一個庫
- 10. 在Swift中使用Objective-C擴展類
- 11. 在C++中使用擴展導入Python
- 12. 禁用擴展庫
- 13. 使用C或C++庫作爲PHP擴展
- 14. 擴展精度浮點庫C/C++
- 15. 用C++擴展Ruby?
- 16. 的Protobuf C++的擴展使用
- 17. 使用自定義C++庫的PHP擴展
- 18. 使用擴展方法的擴展類
- 19. 用C宏擴展/ C++
- 20. 在C Ruby擴展使用curl/libcurl的
- 21. 使用Singleton的Ruby C擴展
- 22. 使數據庫可擴展
- 23. C中的擴展ASCII#
- 24. C中的內聯擴展#
- 25. DrRacket中的C擴展
- 26. 用於Python的C擴展中的SIGSEGV
- 27. 如何使用通用擴展了C#
- 28. 使用python擴展C++應用程序
- 29. 如何鏈接Ruby庫擴展中的C庫
- 30. C/C++宏擴展
如果您使用的是Gjs,那麼您可以通過自省訪問提供給您的豐富的GObject庫。你應該看看他們中的任何人是否可以報告空閒時間,如果沒有,你可能不得不創建自己的(我會推薦Vala)。 – robru