all repos — openbox @ ef8bd3947da3816eb365d64042a9c9d49e1b9b98

openbox fork - make it a bit more like ryudo

delay re-rendering the frame while it is being iconify-animated until the animation finishes (avoid it flashing to unfocused)
Dana Jansens danakj@orodu.net
commit

ef8bd3947da3816eb365d64042a9c9d49e1b9b98

parent

d3c22b58cba15c9420a9c09225c4ba5c66edfa23

2 files changed, 7 insertions(+), 1 deletions(-)

jump to
M openbox/frame.copenbox/frame.c

@@ -1630,10 +1630,11 @@ if (self->iconify_animation_going == 0) return;

if (!self->visible) XUnmapWindow(ob_display, self->window); - else + else { /* Send a ConfigureNotify when the animation is done, this fixes KDE's pager showing the window in the wrong place. */ client_reconfigure(self->client); + } /* we're not animating any more ! */ self->iconify_animation_going = 0;

@@ -1641,6 +1642,8 @@

XMoveResizeWindow(ob_display, self->window, self->area.x, self->area.y, self->area.width, self->area.height); + /* we delay re-rendering until after we're done animating */ + framerender_frame(self); XFlush(ob_display); }
M openbox/framerender.copenbox/framerender.c

@@ -34,6 +34,9 @@ static void framerender_close(ObFrame *self, RrAppearance *a);

void framerender_frame(ObFrame *self) { + if (frame_iconify_animating(self)) + return; /* delay redrawing until the animation is done */ + { gulong px;