问题标签 [gnome-shell-extensions]

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 回答
314 浏览

gnome - 如何通过 Gjs 将 Basic Auth 与 libsoup 一起使用

我正在尝试使用令牌查询 github 的 api。Github 的 api 接受生成的令牌,前提是它们作为基本身份验证标头发送。

如果在没有身份验证的情况下进行调用,API 不会返回 HTTP 401,这意味着如果想要使用基本身份验证查询他们的 api,则必须先发制人地填写标头,而不是进行往返。

我现在正在尝试使用 libsoup 和 Gjs 查询 API。

我注意到 SoupAuthManager 的功能似乎与我需要的完全匹配(此处为 soup_auth_manager_use_auth ),但找不到调用它的方法。

这可用于“预加载” manager 的身份验证缓存,以避免在您提前知道将返回 401 响应的情况下进行额外的 HTTP 往返

这是我目前使用的,但它不起作用,因为 SoupAuthManager 是会话的私有对象;因此对程序的实际行为没有影响

我可以使用其他方法在第一次旅行中强制进行基本身份验证吗?还是我可以从 gjs 使用其他库来调用 github 的 API 并强制进行基本身份验证?

0 投票
0 回答
295 浏览

gnome-shell - 在 Clutter Actor 中捕获移动事件,但对其他交互保持透明

我想构建一个突出显示鼠标光标的 Gnome shell 扩展。我有一个在所有其他窗口上方绘制的 Clutter Actor 的工作原型,但只有在测试画布后面没有其他窗口时才会跟踪鼠标移动。

我的印象是绘图在前景中,但指针信号在背景中。我想将移动信号提升到最前台,以跟踪移动并更新突出显示的位置,同时对所有其他 UI 交互保持透明,因此用户可以在鼠标光标突出显示打开时正常使用桌面.

额外的问题:这甚至是正确的方法吗?

这是我的原型(https://github.com/tobias47n9e/MouseHighlight):

0 投票
1 回答
192 浏览

javascript - 在 JavaScript 中创建动态重新调度 GSource

GLib 的主循环支持为周期性间隔调度回调函数,使用g_timemout_source_new和相关函数。回调将在预定的时间间隔后重复调用,直到它返回false

我现在想用动态间隔修改这个过程。回调应该能够返回一个时间值,而不仅仅是trueor ,该时间值应该传递到下一次调用。false

在 C 中这样做非常简单:可以创建一个新的 GSource 类型,它与调度函数中的超时源不同,然后在设置下一个过期时考虑返回值。

不幸的是,我正在为 GNOME Shell 编写扩展程序,所以我坚持使用 JavaScript。将上述策略移植到 JavaScript 的主要关键点似乎等同g_source_new function, new GLib.Source. 首先,它需要初始化结构类型的长度,这将由sizeofC 中的运算符计算。我不知道如何在 JavaScript 中获取该值。此外,尝试创建GSourceFuncs Struct是错误的,它是此构造函数的第二个参数,它是保存调度函数所必需的。

如何在 JavaScript 中创建新的 GSource?

0 投票
1 回答
178 浏览

javascript - 在 GNOME Shell 扩展中包含二进制组件

为 GNOME Shell 开发扩展主要涉及通过 GObject Introspection 使用 C API。这意味着使用 C 语言可以完成的大多数事情也可以在 JavaScript 中完成。但是在某些情况下,C API 的功能(还)不能通过自省绑定来重现。能够使用本机 C 代码弥合这些差距会很有用。

GNOME Shell 扩展可以包含从 C 代码创建的二进制组件吗?如果是这样,它们是如何集成的?

0 投票
2 回答
1043 浏览

gnome - GNOME Shell 扩展可以移动指针吗?如果是这样,怎么做?

我想编写一个与 GNOME Shell 中的“焦点跟随鼠标”设置相反的扩展:我想让我的指针移动到当前焦点窗口的中心。

这可以在 GNOME Shell 扩展中完成吗?我看到一些包含xfixes cursor的 GNOME 代码,但我在核心 Javascript 或任何现有扩展中都找不到对编程指针更新的任何引用。(我只是不擅长谷歌吗?)

有效答案包括 (1) 执行此操作的示例代码或 (2) 引用说明无法完成的规范来源。

0 投票
1 回答
166 浏览

gnome - Gnome Shell 扩展覆盖 C API?

这可能是一个问题,答案可以是下降 gnome shell 扩展教程的 url,因为我没有找到。

我遇到的问题,我想用 Gnome 扩展来解决

在 gnome 设置守护进程中(参见https://git.gnome.org/browse/gnome-settings-daemon/tree/plugins/power/gsd-backlight-helper.c#n123),我想覆盖以下函数

我希望此方法始终返回 0,因为这样屏幕亮度的最低设置将变为 0,即漆黑一片,这最终让我在晚上听音乐时操作计算机,而无需一直打开屏幕。

基本上,XFCE、MacOS、Cinnamon 和其他人已经实现了这个,但 Gnome 出于某种原因走上了这条路。

所以,我的问题是:我可以覆盖或拦截对该函数的调用以始终从 Gnome 扩展返回 0 吗?

谢谢。

0 投票
2 回答
596 浏览

gnome - 如何检查 Gjs 类是否已经定义?

我正在编写首选项视图 GNOME shell 扩展和使用该imports.lang函数以面向对象的方式编写应用程序时面临的问题。

第一次打开首选项窗口有效,但随后的窗口会引发以下错误:Error: Type name Gjs_MyWindow is already registered. 第一次关闭窗口时,我收到此错误:TypeError: prefsModule.init is not a function.

以下更具命令性的代码有效:

根据抛出的错误,我的猜测是该类正在被重新定义。如何避免重新定义并接收定义的类?(有没有我可以参考的文档?)

0 投票
0 回答
349 浏览

gnome - 如何自定义 GNOME Shell 搜索栏?

我想在 GNOME Shell 搜索结果中包含 stackoverflow、duckduckgo 和其他一些搜索结果。所以,我认为 GNOME Shell 扩展将是解决方案。可能吗?

0 投票
1 回答
792 浏览

linux - chrome-gnome-shell 导致崩溃?

我不确定这是否已经得到解答,因为我不确定这个问题。一天中至少有一次(有时更多)我收到 Ubuntu 崩溃的通知。该信息说它与chrome-gnome-shell(我已重新安装chrome-gnome-shell)有关。我也无法在以下位置列出我的本地 Gnome 扩展:https ://extensions.gnome.org/local/ 。在 Firefox 中使用browser console,当我打开该页面时,我得到以下信息:

我正在运行 Ubuntu 14.04 Gnome (v3.8.4)、Linux 内核 4.4.0-71、Firefox 52.0.2 32 位。

关于什么是错的以及如何解决它的任何想法?

0 投票
1 回答
1106 浏览

linux - 当我在“extensions.gnome.org”中安装扩展时出现“尝试在断开的端口上发布消息”

我想知道为什么带ON/OFF的开关消失了。并且出现了消息“尝试在断开的端口上发布消息”。我记得在我安装vpn lantern之前可以正常使用。我该如何解决这个问题?

在此处输入图像描述 在此处输入图像描述