【发布时间】:2016-05-22 08:20:57
【问题描述】:
我正在尝试:
//valac *.gs --pkg gtk+-3.0
init
Gtk.init(ref args)
var ventana= new win()
ventana.inicio()
Gtk.main()
class win:Gtk.Window
def inicio()
var button= new Gtk.Button()
button.clicked.connect(resizer)
this.add(button)
this.show_all()
def resizer()
var a=Gdk.Screen.get_default().get_window_stack()
a.foreach(allwin)
def allwin (w:Gdk.Window)
var a=w.get_type_hint()
if a!= Gdk.WindowTypeHint.DESKTOP
w.resize(200,200)
var iconpix= w.get_icon() //don't exist // [changed]
var title= w.get_title() //don't exist // [changed]
print "window"
但这些方法不存在。为什么?我不知道。 有什么建议么?我已经尝试过使用 Wnck,但我也遇到了错误。
【问题讨论】:
-
您将这些方法用作
TypeHint的成员,它没有功能。Gdk.Window可能也不是您想要的,因为它仅用于在处理图标和标题本身的Gtk.Window上绘图。你真的很想向你的主要Gtk.Window询问它的图标和标题。 -
这个问题可能是XY problem。您要解决的实际问题是什么?
-
对不起,是我的错误。但是,无论如何我都找不到获取图标或标题的方法。
-
对不起,詹斯,我理解你。我的目标是一个带有运行应用程序任务栏的桌面面板。我想从桌面的所有窗口中获取它们的图标和标题。获取它们的方法将是 gdk, wnck ...
-
如果您只想支持 X11,您可以使用适当的窗口属性名称调用 X11.get_window_property。(_NET_WM_NAME 和 _NET_WM_ICON_NAME)。另见specifications.freedesktop.org/wm-spec/1.4/ar01s05.html