diff --git a/doc/ncmpcpp_keys b/doc/ncmpcpp_keys
index c1152103..d56565e0 100644
--- a/doc/ncmpcpp_keys
+++ b/doc/ncmpcpp_keys
@@ -81,6 +81,8 @@
#
#key_prev_found_position = ','
#
+#key_toggle_find_mode = 'w'
+#
#key_edit_tags = 'e'
#
#key_go_to_position = 'g'
diff --git a/doc/ncmpcpprc b/doc/ncmpcpprc
index 1d4d65d0..78d96c2d 100644
--- a/doc/ncmpcpprc
+++ b/doc/ncmpcpprc
@@ -70,12 +70,14 @@
#
#browser_playlist_prefix = "[red]playlist[/red] "
#
-##### interface settings #####
+##### various settings #####
#
#autocenter_mode = "no"
#
#repeat_one_mode = "no"
#
+#find_mode = "wrapped"
+#
#header_visibility = "yes"
#
#statusbar_visibility = "yes"
diff --git a/src/menu.cpp b/src/menu.cpp
index d20583c9..892d6501 100644
--- a/src/menu.cpp
+++ b/src/menu.cpp
@@ -489,13 +489,11 @@ void Menu::Highlight(int which)
else
return;
- if (which >= itsHeight/2)
+ if (which >= itsHeight/2 && itsOptions.size() > itsHeight)
{
itsBeginning = itsHighlight-itsHeight/2;
if (itsBeginning > itsOptions.size()-itsHeight)
itsBeginning = itsOptions.size()-itsHeight;
- if (itsBeginning < 0)
- itsBeginning = 0;
}
else
itsBeginning = 0;
diff --git a/src/ncmpcpp.cpp b/src/ncmpcpp.cpp
index 2baad145..5888b786 100644
--- a/src/ncmpcpp.cpp
+++ b/src/ncmpcpp.cpp
@@ -244,6 +244,7 @@ int main(int argc, char *argv[])
sHelp->Add(DisplayKeys(Key.FindBackward) + "Backward find\n");
sHelp->Add(DisplayKeys(Key.PrevFoundPosition) + "Go to previous found position\n");
sHelp->Add(DisplayKeys(Key.NextFoundPosition) + "Go to next found position\n");
+ sHelp->Add(DisplayKeys(Key.ToggleFindMode) + "Toggle find mode\n");
sHelp->Add(DisplayKeys(Key.EditTags) + tag_screen_keydesc);
sHelp->Add(DisplayKeys(Key.GoToPosition) + "Go to chosen position in current song\n");
sHelp->Add(DisplayKeys(Key.Lyrics) + "Show/hide song's lyrics\n\n");
@@ -1549,7 +1550,7 @@ int main(int argc, char *argv[])
|| (current_screen == csSearcher && !vSearched.empty()))
{
string how = Keypressed(input, Key.FindForward) ? "forward" : "backward";
- found_pos = 0;
+ found_pos = -1;
vFoundPositions.clear();
Menu *mCurrent = static_cast