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

我让它在 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 函数。有什么建议么?

最佳答案

您可以使用以下函数获取 Xlib.Display.Window 对象: d.create_resource_object("window", xid) ,其中 dXlib.display.Display 对象。

10-07 23:56