summaryrefslogtreecommitdiff
path: root/openbox/frame.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-06-10 03:58:02 +0000
committerDana Jansens <danakj@orodu.net>2007-06-10 03:58:02 +0000
commitef8bd3947da3816eb365d64042a9c9d49e1b9b98 (patch)
treea212731e33a748536d8451222f6447f232987f80 /openbox/frame.c
parentd3c22b58cba15c9420a9c09225c4ba5c66edfa23 (diff)
delay re-rendering the frame while it is being iconify-animated until the animation finishes (avoid it flashing to unfocused)
Diffstat (limited to 'openbox/frame.c')
-rw-r--r--openbox/frame.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/openbox/frame.c b/openbox/frame.c
index 8ce2a16d..c30415dd 100644
--- a/openbox/frame.c
+++ b/openbox/frame.c
@@ -1630,10 +1630,11 @@ void frame_end_iconify_animation(ObFrame *self)
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 @@ void frame_end_iconify_animation(ObFrame *self)
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);
}