pygtk WINDOW_TYPE_HINT_DOCK无法在Windows上运行

时间:2011-07-02 14:03:09

标签: python windows gtk pygtk gdk

我一直在为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]) 

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

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

我需要修改什么才能使其正常工作?

P.S。我需要安装所有二进制文件

提前Thx:)

1 个答案:

答案 0 :(得分:1)

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

你问题第二部分的答案是相似的,除了这次很容易确认:它指的是NetWM,它与EWMH相同,是X11的东西。要在Windows中实现struts,我很确定你必须自己使用Win32 API来完成它。 (我不知道如何,但如果你需要窗口处理它在window.window.handle。)