我想使用GJS中Gnome Shell GIR中使用的Gvc(libgnome-volume-control),但除了在Gnome Shell环境中(例如Gnome Shell扩展)之外找不到访问它的方法。实际上,我什至不知道它在哪里。这可能吗?
更新
根据 Philip Withnall 的评论(关于一个黑客解决方法),我发现可以像这样导入:
const GIRepository = imports.gi.GIRepository;
GIRepository.Repository.prepend_search_path("/usr/lib/gnome-shell");
GIRepository.Repository.prepend_library_path("/usr/lib/gnome-shell");
const Gvc = imports.gi.Gvc;
是的。
libgnome-volume-control目前只能用作子模块。 gnome-shell 在其.gitmodules
文件中列出它以导入代码,然后在meson.build
中列出以构建它。
应该可以在您的项目中类似地使用 libgnome-volume-control。
(我使用 gnome-shell 代码上的git grep -i gvc
确定了这一点。