问题标签 [gjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1774 浏览

importerror - 如何在gjs中导入St库

类似问题的回答表明我无法在独立模式下导入 Shell 内容。但是,据我了解,St 是一个用 C 编写的单独库。但我仍然无法在 gjs 中导入它......

IE

工作(即没有输出)。但

失败了

有没有办法从独立(不是 GNOME Shell 扩展)gjs 导入 St 库?

0 投票
1 回答
189 浏览

character-encoding - 在独立 JavaScript (gjs) 中定义源编码

[这是一个关于不在 web/HTML 上下文中的 JavaScript 的问题]

有没有办法对 gjs 中的源 JavaScript 文件强制执行任何特定(即 UTF-8)编码?我面临一个问题,即直接从命令行 ( $ gjs test.js) 运行的第一个文件被读取为 UTF-8,但任何导入的模块都采用某种单字节编码,这对非英语用户来说几乎没有用。

我有一个简单的测试用例(字符串包括花哨的非 ASCII 引号)。文件test.js

文件test2.js

当测试用例作为 运行时$ gjs test.js,它会给出以下输出:

在您使用时,直接调用的文件test.js确实会产生正确的输出,而导入模块中的字符串会出现乱码。有没有办法让 gjs 将导入的模块解析为 UTF-8?

0 投票
1 回答
2347 浏览

javascript - 使用 gjs,如何发出异步 http 请求以分块下载文件?

我开始使用我的第一个 javascript GTK 应用程序,我想下载一个文件并使用 Gtk.ProgressBar 跟踪它的进度。我能找到的关于 http 请求的唯一文档是这里的一些示例代码:

http://developer.gnome.org/gnome-devel-demos/unstable/weatherGeonames.js.html.en

还有一些令人困惑的汤参考:

http://www.roojs.org/seed/gir-1.2-gtk-3.0/gjs/Soup.SessionAsync.html

据我所知,我可以做这样的事情:

下载完成时似乎只有一个回调,我找不到任何方法来为任何数据事件设置回调函数。我怎样才能做到这一点?

这在 node.js 中非常简单:

0 投票
0 回答
119 浏览

c# - 如何从 javascript Cinnamon 或 Gnome Shell 小程序加载 C# 库?

我想在我的 javascript 代码中加载并使用 C# 库到 Cinnamon 小程序。
关于如何做的任何想法?

0 投票
1 回答
835 浏览

javascript - 使用 gjs,如何将 Soup.Buffer 数据块写入文件?

我正在编写一个下载文件并将其写入磁盘的 GTK javascript 程序。这是我的代码的样子:

我在 fstream.write() 行收到错误:

我能找到的对这个错误的唯一引用是在这个线程中:https ://mail.gnome.org/archives/gnome-shell-list/2012-July/msg00126.html

那个人最终放弃并将他的代码移植到 python。

我也对“got_chunk”回调传递的内容感到困惑。块字段是一个 Soup.Buffer ( http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Soup.Buffer.html )。我可以用 chunk.length 获得它的长度,但是当我尝试打印 chunk.data 时它是未定义的。当我只打印块时,它会打印:[object _private_Soup_Buffer]。

fstream 是一个 Gio.FileOutputStream ( http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gio.FileOutputStream.html )。write方法为:write(String buffer, guint32 count, Cancellable cancellable),cancellable是可选的。奇怪的是,如果我用这个替换写行,我仍然会得到完全相同的错误:

0 投票
2 回答
276 浏览

gnome - 无法在 Gjs 中创建 GArray

我尝试创建一个 GArray 但我总是遇到同样的错误:

常量 GLib = 进口.gi.GLib;

var garray = new GLib.Array(true, true, 1); // 无法构造盒装类型 Array,因为它没有零参数,只能包装现有的

var garray = new GLib.Array(); // 无法构造盒装类型 Array,因为它没有零参数,只能包装现有的

我需要一个 GArray 才能在 GnomeKeyring.item_create_sync 方法中使用它:

GnomeKeyring.item_create_sync("login", 4, "name", new GLib.Array(true, true, 1) "pass", true);

我尝试了其他类型的数组而不是 GArray,这是错误

  • []-> 对象 0xb5d120d0 不是 (null) 的子类,它是一个数组
  • new Array()-> 对象 0xb5e12138 不是 (null) 的子类,它是一个数组
  • {}-> 对象 0xb5d0b1b0 不是 (null) 的子类,它是一个对象
  • 5-> 未处理的 GType GArray 从 Number 中解包 GArgument
  • "5"-> 参数“属性”的预期类型接口,但类型为“字符串”

如果有人有解决GArray方案GnomeKeyring.item_create_sync

0 投票
1 回答
925 浏览

gtk - 将 Glade 的信号连接到 Gjs/Seed 代码

我想使用该connect_signals方法将我的 Glade 信号绑定到 Gjs/Seed 方法。
但我总是收到以下错误:Argument 'user_data' (type void) may not be null
有谁知道如何使用该connect_signals方法?

Gjs/种子文件

林间空地文件

0 投票
2 回答
476 浏览

applet - 无法从肉桂小程序打开 GtkWindow

当我尝试从肉桂小程序打开 GtkWindow 时,整个桌面冻结。
文件中没有错误~/.cinnamon/glass.log

代码一直执行,直到Gtk.main()没有窗口显示并且桌面被冻结。
任何人都知道如何使它正常工作?

0 投票
1 回答
195 浏览

gjs - Gnome-shell-extension 析构函数(在 Gnome Shell 退出时运行)?

当 Gnome Shell 关闭(例如计算机关闭)时,是否有任何技巧可以在扩展中运行我的“析构函数”代码?我需要保存一些状态变量以init()在启动时再次加载它们。

我需要类似 functionenable()disable(). 也许有一些信号被触发,我可以将我的代码连接到?

0 投票
2 回答
444 浏览

treeview - Gnome 3 Javascript (GJS) - TreeView - 选择下一个/上一个项目

一个月前,我听说了用于 GNOME 3 的 GJS,我想尝试一下。我想做什么?带有 GJS 的 GNOME 3 的简单媒体播放器。

所以,基地已经被编程,例如:

  • 创建 ListStore 并将其连接到 TreeView 对象
  • OpenFile 对话框 - 选择 MP3/OGG​​/WAV 文件
  • 从 OpenFile Dialog 获取文件名和 URI 并将其放入 Gtk.ListStore 对象
  • 当文件被选中(在 TreeView 对象中)时,Gst 对象从当前选定的行中获取 URI。

现在的问题是我想手动更改 TreeView 对象中选定的行(当用户按下前进或后退按钮时),我不知道如何执行此操作。

我在官方的 GNOME-Docs 和非官方的 Seed文档中查找了它,然后谷歌搜索了它,但没有任何结果。我试图用 GNOME 3 的 C-Docs 找到它,但仍然没有。

我希望有人可以帮我解决这个“小”问题。:)

简单音乐播放器的链接。