Index: Slim/Buttons/Input/List.pm =================================================================== --- Slim/Buttons/Input/List.pm (revision 22040) +++ Slim/Buttons/Input/List.pm (working copy) @@ -211,21 +211,25 @@ if ($pushDir eq 'up') { $client->pushUp(); + } elsif ($pushDir eq 'down') { $client->pushDown(); + } elsif ($dir < 0) { - $client->pushUp(); + $client->pushUp(undef, lines($client, 'show')); + } else { - $client->pushDown(); + $client->pushDown(undef, lines($client, 'show')); } } } sub lines { my $client = shift; + my $showCount = shift; my ($line1, $line2); my $listIndex = $client->modeParam('listIndex'); @@ -249,10 +253,10 @@ } else { - if ($client->modeParam('headerAddCount')) { - $line1 .= ' (' . ($listIndex + 1) - . ' ' . $client->string('OF') .' ' . scalar(@$listRef) . ')'; - } +# if ($client->modeParam('headerAddCount')) { +# $line1 .= ' (' . ($listIndex + 1) +# . ' ' . $client->string('OF') .' ' . scalar(@$listRef) . ')'; +# } $line2 = getExtVal($client,$listRef->[$listIndex],$listIndex,'externRef'); @@ -262,6 +266,10 @@ } my ($overlay1, $overlay2) = getExtVal($client,$listRef->[$listIndex],$listIndex,'overlayRef'); + if ($showCount && $client->modeParam('headerAddCount')) { + $overlay1 .= ($listIndex + 1) . '/' . scalar(@$listRef); + } + my $parts = { 'line' => [ $line1, $line2 ], 'overlay' => [ $overlay1, $overlay2 ] Index: Slim/Display/Squeezebox2.pm =================================================================== --- Slim/Display/Squeezebox2.pm (revision 22040) +++ Slim/Display/Squeezebox2.pm (working copy) @@ -405,7 +405,7 @@ $display->animateState(2); $display->updateMode(0); - Slim::Utils::Timers::setTimer($display, Time::HiRes::time() + 0.5, \&Slim::Display::Display::update, $display->renderCache()); + Slim::Utils::Timers::setTimer($display, Time::HiRes::time() + 0.5, \&Slim::Display::Display::update); } sub killAnimation {