Ваш код будет работать, просто нужно изменить эту строку:
window.resize(gtk.gdk.screen_width(),100) # Instead of gtk.gdk.screen.width()
и было бы лучше использовать нижнюю строку кода, т.е.
window.window.property_change("_NET_WM_STRUT", "CARDINAL", 32,
gtk.gdk.PROP_MODE_REPLACE, [0, 0, 100, 0])
после
команда window.show_all ()
в противном случае возникнет ошибка для объекта «NoneType».
Ваш код с некоторыми изменениями:
import gtk
class ResizeWindow:
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
button = gtk.Button("Resize")
self.window.add(button)
button.connect("clicked", self.resizewin)
self.window.set_default_size(gtk.gdk.screen_width(),500)
self.window.move(0, 0)
self.window.show_all()
self.window.window.property_change("_NET_WM_STRUT", "CARDINAL", 32,
gtk.gdk.PROP_MODE_REPLACE, [0, 0, 100, 0])
def resizewin(self, widget, *args):
self.window.resize(gtk.gdk.screen_width(),100)
if __name__ == '__main__':
ResizeWindow()
gtk.main()
Надеюсь, это то же самое, что вы хотите сделать.