... void fix(void) { if(getwindow(display, Refnone) < 0) error("failed to re-attach window"); freescrtemps(); view = screen; wscreen = allocscreen(screen, col[Colrioback], 0); draw(view, view->r, col[Colrioback], nil, ZP); flushimage(display, 1); } once = 0; void redraw(void) { if (once == 0) { fix(); once = 1; } ...