【问题标题】:pygtk WINDOW_TYPE_HINT_DOCK not working on windowspygtk WINDOW_TYPE_HINT_DOCK 在 Windows 上不起作用
【发布时间】:2011-07-02 14:03:08
【问题描述】:

我一直在为 linux 开发一个类似于 dock 的程序,但问题是当我想在 windows (xp/vista/7) 上运行它时,这些属性不起作用:

self.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DOCK)

self.window.get_toplevel().show() # must call show() before property_change()
self.window.get_toplevel().window.property_change("_NET_WM_STRUT", 
"CARDINAL", 32, gtk.gdk.PROP_MODE_REPLACE, [0, 0, 0, bottom_width]) 

除了其他停靠属性外,它还显示窗口边框(装饰),并且不保留自己的空间。

简单地说,上面的行就好像它们不存在一样

我必须修改什么才能使其正常工作?

附:我已经安装了所有需要的二进制文件

提前谢谢 :)

【问题讨论】:

    标签: python windows gtk pygtk gdk


    【解决方案1】:

    WINDOW_TYPE_HINT_DOCK 根本没有在 Windows 端口中实现(或者更确切地说,实现什么都不做);您可以在GDK source 中确认这一点。理论上——即使在 X 中——窗口管理器不需要对类型提示做任何事情(参见EWMH spec)。如果您不想要窗口装饰,只需使用 gtk_window_set_decorated 将其删除。

    你的问题第二部分的答案类似,只不过这次很容易确认:它指的是NetWM,它与EWMH相同,是X11的东西。要在 Windows 中实现 struts,我很确定您必须使用 Win32 API 自己完成。 (我不知道怎么做,但如果你需要窗口句柄,它在<em>window</em>.window.handle。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多