X11 backend: fix window behavior with multiple show() calls