From 4426442ed0b358e42b294067715b8f7a800cd1c3 Mon Sep 17 00:00:00 2001 From: Andrzej Rybczak Date: Thu, 17 Sep 2009 02:11:18 +0000 Subject: [PATCH] refresh statusbar only if necessary --- src/status.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/status.cpp b/src/status.cpp index 3da7e30e..c98a93a7 100644 --- a/src/status.cpp +++ b/src/status.cpp @@ -396,6 +396,8 @@ void NcmpcppStatusChanged(Connection *, StatusChanges changed, void *) } if (!np.Empty() && Mpd.GetState() > psStop) { + changed.ElapsedTime = 1; + int mpd_elapsed = Mpd.GetElapsedTime(); if (elapsed < mpd_elapsed-2 || elapsed+1 > mpd_elapsed) elapsed = mpd_elapsed; @@ -619,7 +621,8 @@ void NcmpcppStatusChanged(Connection *, StatusChanges changed, void *) } *wFooter << fmtBoldEnd; wFooter->GotoXY(sx, sy); - wFooter->Refresh(); + if (changed.PlayerState || (changed.ElapsedTime && (!Config.new_design || Mpd.GetState() == psPlay))) + wFooter->Refresh(); if (changed.Playlist || changed.Database || changed.PlayerState || changed.SongID) myScreen->RefreshWindow(); }