问题标签 [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.
javascript - GJS:Gtk.TextView 按键事件不起作用
我正在尝试使用 gjs 为 gnome-shell 创建简单的 gtk 应用程序。
它的窗口仅包含 Gtk.TextView ,我想在用户键入时处理事件。
这是我的代码:
它通常可以工作,但我无法读取 event.keyval:控制台输出为“未定义”:
有人可以告诉我我做错了什么吗?谢谢!
javascript - 如何从 gnome-shell-extension 中启动 GtkApplication?
我的目标是在用户按下 Gnome 顶部栏中的按钮时启动一个新的 GtkApplication。顶部栏中的按钮可以通过 gnome-shell-extension 完成,但我很难打开 GtkApplication。
因此,现在下面的代码应该只是启动 GtkApplication。
将代码放入其中后启用此扩展~/.local/share/gnome-shell/extensions/test@test/extension.js
总是会SIGSEGV
产生gnome-shell
.
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 的简单方法在哪里?
任何帮助将非常感激 !谢谢
python - 在 Gnome Shell 中带有通知的 Python 程序不起作用
我正在编写一个 python 程序,它从网页中获取信息并将其显示在 Gnome Shell 中的 Notification 上。我正在使用 Arch,所以我想在启动时启动这个程序,如果网页上有任何变化,它会通知我。这是我的代码:
问题是当我单击通知中的“阅读更多...”按钮时,除非我在 create_notify 函数中取消注释,否则它不会打开 Firefox GLib.MainLoop().run()
,但这会使程序冻结。有人可以帮忙吗?
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 将显示它的上下文菜单的最大高度?
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:
所以我尝试使用以下命令:
但是该
我是 Javascript 和 GNOME 编程的新手,所以请不要恨我 :-){gicon: myicon}
部分被完全忽略并使用默认图标:-/。
一般推荐使用Main.notify()
,还是不推荐使用?
干杯,马帕达姆
multiple-monitors - Gnome-shell wayland,旋转屏幕
假设我正在使用英特尔的驱动程序。
Gnome-shell 允许在使用 Xorg 时在 Settings -> Display 中旋转屏幕。
使用 Wayland 时可以旋转吗?
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
menu - Gtk3 Popover 窗口外
如何使Popover出现在应用程序窗口之外,例如 gnome-shell 面板中的菜单?还是我应该使用另一个 GTK 小部件?