pygtk WINDOW_TYPE_HINT_DOCK не работает в Windows

Я разрабатываю док-программу для Linux, но проблема в том, что когда я хочу запустить ее в 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. У меня установлены все необходимые бинарники

Спасибо заранее :)


person lamp ard    schedule 02.07.2011    source источник


Ответы (1)


WINDOW_TYPE_HINT_DOCK просто не реализован в порте для Windows (точнее, реализован, чтобы ничего не делать); вы можете подтвердить это в исходнике GDK. Теоретически даже в Xwindow менеджеры не обязаны ничего делать с подсказкой типа (см. спецификацию EWMH< /а>). Если вам не нужно украшение окна, просто удалите его с помощью gtk_window_set_decorated.

Ответ на вторую часть вашего вопроса аналогичен, за исключением того, что на этот раз его очень легко подтвердить: он относится к NetWM, который совпадает с EWMH и относится к X11. Чтобы внедрить распорки в Windows, я уверен, вам придется сделать это самостоятельно, используя Win32 API. (Я не знаю как, но если вам нужен дескриптор окна, он находится в window.window.handle.)

person Johannes Sasongko    schedule 02.07.2011