- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近在研究 Gnome shell 扩展。我看了一些代码,像这样:
const Lang = imports.lang;
const extension = new Lang.Class({...})
我在 GJS 中找不到有关 Lang 的任何信息。
相关的开发手册应该去哪里找?
最佳答案
不要再使用Lang
;它已被弃用,并且有更好的方法。它创建于 Function.prototype.bind()
之前和 ES6 Classes .一些阅读:
信号回调
// NOTE: the emitting object is always the first argument,
// so `this` is usually bound to a different object.
function myCallback(sourceObject, arg1) {
if (this === sourceObject)
log('`sourceObject` is correctly bound to `this`');
}
// OLD
sourceObject.connect('signal-name', Lang.bind(myCallback, sourceObject));
// NEW
sourceObject.connect('signal-name', myCallback.bind(sourceObject));
GObject 类
// OLD
const MyLegacyClass = new Lang.Class({
GTypeName: 'MyLegacyClass',
Extends: GObject.Object,
_init(a, b) {
this.parent(a);
this.b = b;
}
});
// NEW
const MyClass = GObject.registerClass({
GTypeName: 'MyLegacyClass',
}, class MyClass extends GObject.Object {
_init(a, b) {
super._init(a);
this.b = b;
}
);
关于gnome - 如何在 gjs 中使用 "lang"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68356899/
当我尝试运行异步代码(如读取文件或发送 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。 所以,我不得不问:值得吗?
我是一名优秀的程序员,十分优秀!