que esté totalmente a merced de su gestor de ventanas para esto, y la cuestión clave aquí es:
sin ser maximizada
Así que nos quedamos con una serie de cortes , porque básicamente la maximización y el cambio de tamaño son dos cosas separadas, para que puedas recordar dónde estaba cuando no está maximizado.
Así que antes de mostrarles este espantoso truco, les pido que consideren usar la maximización adecuada y que simplemente estén contentos con ello.
así que aquí va:
import gtk
# Even I am ashamed by this
# Set up a one-time signal handler to detect size changes
def _on_size_req(win, req):
x, y, w, h = win.get_allocation()
print x, y, w, h # just to prove to you its working
win.disconnect(win.connection_id)
win.unmaximize()
win.window.move_resize(x, y, w, h)
# Create the window, connect the signal, then maximise it
w = gtk.Window()
w.show_all()
w.connection_id = w.connect('size-request', _on_size_req)
# Maximizing will fire the signal handler just once,
# unmaximize, and then resize to the previously set size for maximization.
w.maximize()
# run this monstrosity
gtk.main()
¡Ali, esto es maravillosamente horrible! –
Lars, gracias! Eso es un gran elogio! –