我是 Gtk+ 开发的新手,正在尝试使用 PyGObject 和 Gtk+3.0 编写一个应用程序。然而,当我从命令行在 Gnome Shell 中运行应用程序时,出现在左上角(紧邻“活动”热角右侧)的应用程序名称仅设置为 Python 源文件的名称我跑去启动应用程序。有什么方法可以设置我的应用程序的名称出现在 Gnome Shell 中吗?我查看了 Gtk.Application,虽然它似乎做了一些我想要的事情(无论如何从 Gtk+3.3 开始),但我似乎不知道如何修复活动名称或应用程序名称。
gnome-shell 尝试将窗口与应用程序(aShellApp
实例)并使用该名称。这样做的代码在这里:http://git.gnome.org/browse/gnome-shell/tree/src/shell-window-tracker.c#n328
但如果找不到ShellApp
对于窗口,然后它回退到使用指定的 ICCCMWM_CLASS
(规格位于http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.2.5) here: http://git.gnome.org/browse/gnome-shell/tree/src/shell-app.c#n361
因此,如果您没有安装 .desktop 文件来查找应用程序名称,您将获得默认值WM_CLASS
出现在那里。 GTK 根据可执行文件名称自动生成。您可以在实现窗口之前覆盖它(这意味着在调用之前_show
在窗户上)使用gtk_window_set_wmclass()
这是一个简单的示例,将显示为“Hello World”。不要忘记设置窗口标题!
#!/usr/bin/python
from gi.repository import Gtk
win = Gtk.Window()
win.connect("delete-event", Gtk.main_quit)
win.set_wmclass ("Hello World", "Hello World")
win.set_title ("Hello World")
win.show_all()
Gtk.main()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)