问题标签 [gnome-shell]

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

javascript - GJS:Gtk.TextView 按键事件不起作用

我正在尝试使用 gjs 为 gnome-shell 创建简单的 gtk 应用程序。

它的窗口仅包含 Gtk.TextView ,我想在用户键入时处理事件。

这是我的代码:

它通常可以工作,但我无法读取 event.keyval:控制台输出为“未定义”:

有人可以告诉我我做错了什么吗?谢谢!

0 投票
1 回答
140 浏览

javascript - 如何从 gnome-shell-extension 中启动 GtkApplication?

我的目标是在用户按下 Gnome 顶部栏中的按钮时启动一个新的 GtkApplication。顶部栏中的按钮可以通过 gnome-shell-extension 完成,但我很难打开 GtkApplication。

因此,现在下面的代码应该只是启动 GtkApplication。

将代码放入其中后启用此扩展~/.local/share/gnome-shell/extensions/test@test/extension.js总是会SIGSEGV产生gnome-shell.

0 投票
1 回答
93 浏览

archlinux - 如何在 Gnome3.16 中快速从一台显示器切换到另一台显示器

我在archlinux下使用Gnome 3.16,想知道是否有一种快速的方法可以通过HDMI将集成显示器更换为外部显示器。这是我必须走的路(在图片中):

首先,您必须打开监视器菜单(此处为西班牙语)。

在此处输入图像描述

其次,您需要打开外接显示器的子菜单(您可以在其中选择四个选项:将此显示器设为主要、次要、显示相同内容或将其关闭),然后选择显示相同内容的选项两个显示器。

在此处输入图像描述

第三,您需要打开集成显示器的子菜单并将其关闭。

在此处输入图像描述

有人知道一种更简单、更快捷的方法吗,即,只要您插入 HDMI 电缆,它就会自动切换到外接显示器,同时关闭集成显示器,反之亦然?

0 投票
1 回答
1251 浏览

debian - 如何在 Gnome Shell 3.16.2 中显示 gnome-shell 扩展的堆栈跟踪?

今天,我从 Debian Jessie(稳定版)升级到了 Stretch(测试版),许多我需要工作的扩展不再被标记为兼容。我很确定这对他们中的大多数人来说没什么大不了的(也许只是manifest.json为了更新)。

但我的问题是我找不到让js 回溯来识别加载问题的方法。以前,执行gnome-shell --replace命令时在控制台中有日志,或者只是在~/.xsession-errors文件中。据我所见,~/.xsession-errors文件似乎没有从 js 记录任何内容。为了测试,我使用了窥镜并试图记录一些东西。

我查看了Debian changelog,但没有帮助。

日志是否转到另一个文件?不使用 gdb调试 js 的简单方法在哪里?

任何帮助将非常感激 !谢谢

0 投票
1 回答
1515 浏览

python - 在 Gnome Shell 中带有通知的 Python 程序不起作用

我正在编写一个 python 程序,它从网页中获取信息并将其显示在 Gnome Shell 中的 Notification 上。我正在使用 Arch,所以我想在启动时启动这个程序,如果网页上有任何变化,它会通知我。这是我的代码:

问题是当我单击通知中的“阅读更多...”按钮时,除非我在 create_notify 函数中取消注释,否则它不会打开 Firefox GLib.MainLoop().run(),但这会使程序冻结。有人可以帮忙吗?

0 投票
2 回答
837 浏览

c++ - 使用多个屏幕时,Gnome Shell 导致 QMenu 显示在不正确的位置

Gnome 3上使用多个显示器时,我的 Qt 应用程序的上下文菜单显示在不正确的位置。

似乎这里的罪魁祸首可能是Gnome Shell,而不是 Qt 本身,因为我无法用 Ubuntu Unity 复制下面描述的问题,它只在运行Ubuntu Gnome 14.04时发生。

症状:

我正在使用QWidget::mapToGlobal(QPoint)信号QWidget::customContextMenuRequested来找到显示上下文菜单的正确位置。

然后我QMenu::exec(QPoint)用来在那个位置显示菜单

我的问题是我有以下屏幕布局:

在此处输入图像描述

当我的窗口位于右侧屏幕或左侧屏幕但位于右侧屏幕顶部下方的位置时,上下文菜单正确显示:

在此处输入图像描述

当我的窗口在左侧屏幕上时,在右侧屏幕顶部上方的级别上,即使QPoint返回的 Y 值mapToGlobal是正确的,上下文菜单也不会在该点显示,而是被限制为与右侧屏幕处于同一水平。

在此处输入图像描述

我已经确认_tree->viewport()->mapToGlobal(p)返回正确的结果(只需记录结果QPoint

因此,这似乎QMenu::exec(QPoint)是罪魁祸首?

如何正确显示上下文菜单?

编辑:

我尝试在标准 Ubuntu 14.04 上运行相同的应用程序(即:使用 Unity 而不是 Gnome),并且不正确的行为不会出现,所以这似乎是Gnome 3 的问题

我尝试更改我的主监视器,以便左侧的纵向监视器是主监视器,并且上下文菜单正确显示。

在此处输入图像描述

注意黑色启动栏在左侧屏幕上

当使用以下布局时(主屏幕在右侧是横向的),上下文菜单位置被限制在主监视器的顶部。

在此处输入图像描述

注意黑色启动栏在右侧屏幕上

所以看起来主显示器的顶部位置是 Qt 将显示它的上下文菜单的最大高度?

0 投票
1 回答
724 浏览

javascript - 在 Gnome Shell >= 3.16(自定义扩展)中设置通知图标

我已经分叉了一个 Gnome Shell 扩展,因为我想修改它以适应我的个人喜好。我想在每次发生事件时发送通知。使用 .发送通知本身相当容易Main.notify(summary, text)。但是,我只是不知道如何设置自定义图标。[编辑:以下是错误的。我查找了错误的代码]根据 gnome-shell 的 github repo,我可以通过可选参数定义一个图标:Main.notify(summary, text, params)params将在哪里签入MessageTray.js l.367:

所以我尝试使用以下命令:

但是该{gicon: myicon}部分被完全忽略并使用默认图标:-/。 我是 Javascript 和 GNOME 编程的新手,所以请不要恨我 :-)

一般推荐使用Main.notify(),还是不推荐使用?

干杯,马帕达姆

0 投票
3 回答
4409 浏览

multiple-monitors - Gnome-shell wayland,旋转屏幕

假设我正在使用英特尔的驱动程序。

Gnome-shell 允许在使用 Xorg 时在 Settings -> Display 中旋转屏幕。

使用 Wayland 时可以旋转吗?

0 投票
1 回答
2561 浏览

gnome - Replacing Gnomes virtual keyboard with Onboard -> Hide/Show via DBus doesn't work

I'm using Gnome on a tablet as a daily driver. The integrated virtual keyboard doesn't serve as a replacement for a real keyboard, but I need exactly that. Thus I want to replace it with Onboard, and started to write an extension for Gnome Shell. The goal is to hide and show Onboard when the integrated virtual keyboard would be hidden/shown.

I can show/hide Onboard through DBus like this:

I adapted the example at https://wiki.gnome.org/Gjs/Examples/DBusClient to test showing/hiding Onboard through DBus:

Sadly it doesn't show Onboard, instead throws this error:

I have no clue why it talks about services when all I wan't to do is sending a message trough DBus? It's probably a rather stupid mistake as I don't have any experience with either Gnome Shell extensions nor DBus..

Version of Gnome is 3.18.0

0 投票
1 回答
668 浏览

menu - Gtk3 Popover 窗口外

如何使Popover出现在应用程序窗口之外,例如 gnome-shell 面板中的菜单?还是我应该使用另一个 GTK 小部件?

gnome-shell 面板弹出菜单