- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写首选项 View GNOME shell 扩展和使用 imports.lang
时面临的问题以面向对象的方式编写应用程序的函数。
const Gtk = imports.gi.Gtk
const Lang = imports.lang
Gtk.init(null)
const MyWindow = new Lang.Class({...})
Error: Type name Gjs_MyWindow is already registered
.第一次关闭窗口时,我收到此错误:
TypeError: prefsModule.init is not a function
.
const Gtk = imports.gi.Gtk
Gtk.init(null)
const window = new Gtk.Window({ type: Gtk.WindowType.TOPLEVEL })
最佳答案
看起来正确的答案在 this discussion .
If you extend a GObject class (anything from St, Clutter, Gtk, etc.), you're registering a new GType, and that's not possible for extensions.
...
Extensions are dynamic modules, and they can be loaded and unloaded - but that's not at all possible for GTypes.
const Class = new Lang.Class({
Name: "Class",
_init: function() {
this.actor = new St.Button();
}
)};
话虽如此,如果您查看系统上安装的扩展并执行类似
grep -rn 'Extends: Gtk' /usr/share/gnome-shell/extensions/
的操作,您会看到一些扩展仍然扩展了 GTypes,并且不会导致任何错误。但是您会注意到
extension.js
中从未这样做过。文件...
关于gnome - 如何检查 Gjs 类是否已经定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42702883/
当我尝试运行异步代码(如读取文件或发送 http 请求)时,程序会在调用回调之前立即退出。 最佳答案 与浏览器中的JavaScript 不同,gjs 程序在主代码完成后立即退出,为了等待回调,我们需要
我正在编写首选项 View GNOME shell 扩展和使用 imports.lang 时面临的问题以面向对象的方式编写应用程序的函数。 const Gtk = imports.gi.Gtk con
Gjs 文档说 gjs -D -S example.js 将启动调试器,但当我执行相同的操作时,会发生以下错误 $ gjs -D test.js (gjs:26381): Gjs-ERROR **:
我正在尝试创建一个简单的网络编辑器演示。我想要一个 web View 小部件来呈现 gtk 源 View 小部件的内容...我绘制了小部件,但我无法从 sourceview 中获取内容以将其提供给 w
我正在尝试从 gjs 运行命令并异步读取输出。 这是我的同步代码 let [res, pid, in_fd, out_fd, err_fd] = GLib.spawn_async_with_pipes
GJS/Gnome 的包装器似乎没有公开“最小化”属性。有一个 get_maximized(),但这似乎没有返回我需要的信息。 使用 Gnome Applet 的 JavaScript 绑定(bind
我正在使用 GJS 和 GNOME 平台使用 JavaScript 编写一个简单的桌面应用程序:GTK+、GLib、Gio、GObject。下面的代码说明了我面临的情况,并且更容易复制,因为它不需要访
我正在尝试使用 javascript 绑定(bind)将简单的 cairo 绘图绘制到杂乱的窗口中。我的问题是,除了一半的函数命名略有不同外,无论我尝试什么,cairo 绘图都不会显示。我使用了一个来
我最近在研究 Gnome shell 扩展。我看了一些代码,像这样: const Lang = imports.lang; const extension = new Lang.Class({...}
我有一个 folderPath,它有一个目录字符串: /home/bastian/Pictures 我有一个包含名称的变量 fileName。我可以像这样将两个字符串连接在一起,但它只适用于 UNIX
我最近在研究 Gnome shell 扩展。我看了一些代码,像这样: const Lang = imports.lang; const extension = new Lang.Class({...}
我有一个 folderPath,它有一个目录字符串: /home/bastian/Pictures 我有一个包含名称的变量 fileName。我可以像这样将两个字符串连接在一起,但它只适用于 UNIX
我在 GJS GObject overrides 中看到大多数类型都有对应于 Javascript 类型的定义,但我应该如何为标准字符串数组定义属性?我想到的一些选择: 使用 TYPE_OBJECT
我正在尝试使用 gjs 为 gnome-shell 创建简单的 gtk 应用程序。 它的窗口只包含 Gtk.TextView,我想在用户输入时处理事件。 这是我的代码: #!/usr/bin/gjs
如果我正在查看 Gjs 代码并在开头附近看到这一行: const Gio = imports.gi.Gio; 我如何知道“Gio”上有哪些方法、常量、事件等(无需进行 Google 搜索)?我的安装中
我知道我可以很容易地导入文件,但我正在尝试制作某种插件结构。我希望能够扫描文件夹并加载每个 Javascript 文件。 有了 Seed JS,我可以使用 Seed.include() 来计算一个文件
我正在尝试使用 Gjs 编写 GNOME GTK3 应用程序哪个handles files passed as command line arguments .为此,我连接了 Gtk.Applicat
这不起作用(当目录存在时什么也不会发生): let s_dir = Gio.file_new_for_path("./S1"); try { s_dir.make_directory(
我开始开发我的第一个 JavaScript GTK 应用程序,我想下载一个文件并使用 Gtk.ProgressBar 跟踪它的进度。我能找到的关于 http 请求的唯一文档是这里的一些示例代码: ht
我已经使用 Gtk+ 和 GNOME API 完成了 Python 和 C 应用程序,现在我看到由于 GJS(我也听说过种子),GNOME 3 支持 JavaScript。 所以,我不得不问:值得吗?
我是一名优秀的程序员,十分优秀!