4

我正在编写一些需要从 GTK+ 下拉到 Xlib 的代码。具体来说,我想将顶层窗口的图标设置为窗口本身,而不是像素图,以便编写 GTK+ Window Maker dockapp。

我让它在 C 中工作如下:

gdkDockapp = gtk_widget_get_window(dockapp);
xDockapp = GDK_WINDOW_XID(gdkDockapp);

gdkDisplay = gdk_window_get_display(gdkDockapp);
xDisplay = GDK_DISPLAY_XDISPLAY(gdkDisplay);

wmhints.icon_window = xDockapp;
wmhints.flags = IconWindowHint;
XSetWMHints(xDisplay, xDockapp, &wmhints);  

但是,我希望在 Python 中实际编写我的应用程序。当我尝试转换代码时,例如,

gdkDockapp = dockapp.get_window()
xDockapp = gdkDockapp.get_xid()

返回的是 long 而不是 Window,所以我不能执行任何 Xlib 函数。有什么建议么?

4

2 回答 2

2

您可以Xlib.Display.Window使用此函数获取对象:d.create_resource_object("window", xid),对象在d哪里Xlib.display.Display

于 2012-11-19T19:30:57.240 回答
0

不确定使用 Xlib 在 X 服务器注定要消失以支持 Wayland 合成器的时候是明智之举。

于 2012-11-19T09:22:29.713 回答