Subject: | Reduce flicker in Tk::Notebook |
Tk::Notebook::raise() causes unnecessary flicker when switching between
notebook pages. This is visible especially if pages look (partially)
identical. The flicker is caused by an unconditional MoveResizeWindow(),
which could be skipped if the widget's size is unchanged. The following
patch tries to check whether or not MoveResizeWindow needs to be called.
Subject: | Notebook.pm.patch |
--- NoteBook.pm Mon Jul 04 16:46:02 2011
+++ NoteBook_orig.pm Fri Oct 10 23:39:56 2008
@@ -174,7 +174,7 @@
if ($cW > 0 && $cH > 0)
{
- $childw->MoveResizeWindow($cX, $cY, $cW, $cH) if "${cW}x$cH+$cX+$cY" ne $childw->geometry;
+ $childw->MoveResizeWindow($cX, $cY, $cW, $cH);
$childw->MapWindow;
$childw->raise;
}