【问题标题】:Using GTK and Xlib in Python在 Python 中使用 GTK 和 Xlib
【发布时间】:2012-11-18 23:59:55
【问题描述】:

我正在编写一些需要从 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 函数。有什么建议吗?

【问题讨论】:

    标签: python gtk xlib


    【解决方案1】:

    你可以通过这个函数获取Xlib.Display.Window对象:d.create_resource_object("window", xid),其中dXlib.display.Display对象。

    【讨论】:

      【解决方案2】:

      不确定使用 Xlib 是否是明智之举,因为 X 服务器注定要消失,取而代之的是 Wayland 合成器。

      【讨论】:

      • 正如我在问题中提到的,我的目标是编写一个Window Maker dockapp。据我所知,目前还没有关于在 Wayland 下运行 Window Maker 本身的讨论。事实上,几乎所有现有的 Window Maker 停靠应用程序都是使用纯 Xlib 编写的,没有任何工具包。
      猜你喜欢
      • 2019-10-24
      • 1970-01-01
      • 2012-06-21
      • 1970-01-01
      • 1970-01-01
      • 2012-04-20
      • 2011-09-30
      • 2013-02-02
      • 2011-06-27
      相关资源
      最近更新 更多