gpt4 book ai didi

javascript - Gnome 扩展 - 运行 shell 命令

转载 作者:可可西里 更新时间:2023-11-01 11:48:32 25 4
gpt4 key购买 nike

我正在编写一个简单的扩展程序,通过单击扩展程序按钮来打开浏览器。我想知道是否有一个函数可以执行传递的 shell 命令作为参数。此外,如果任何人都可以为扩展开发提供一个很好的简单引用,那将非常有帮助。

最佳答案

来自 https://github.com/GNOME/gnome-shell/blob/master/js/misc/util.js :

// Runs @command_line in the background, handling any errors that
// occur when trying to parse or start the program.
function spawnCommandLine(command_line) {
try {
let [success, argv] = GLib.shell_parse_argv(command_line);
trySpawn(argv);
} catch (err) {
_handleSpawnError(command_line, err);
}
}

该方法有一些变体。为自己省去一大堆麻烦事,只需将 GitHub 存储库添加为书签即可。

一些快速链接:

  • popupMenu.js : 使用弹出菜单
  • panel.js : 一本关于实现“托盘”图标的好书
  • modalDialog.js : 一些 UI 元素可以重复使用,例如 runDialog.js 使用这个
  • mpris.js : 在gjs中也有使用类似DBus这样的框架的很好的例子

我怎么强调都不为过,您将从阅读 gnome-shell 源代码中获益。不幸的是,它现在被编译成一个资源文件,所以我们没有本地副本可以偶然发现。

更新(2021 年)

如果您正在阅读本文,请参阅 gjs.guide 上提供的文档.特别是有关 Spawning Subprocesses 的文档,其中介绍了为什么这在扩展中是个坏主意,以及如何做到稍微不那么糟糕。

关于javascript - Gnome 扩展 - 运行 shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43357370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com