diff --git a/doc/config b/doc/config index 64fc1406..32cc5113 100644 --- a/doc/config +++ b/doc/config @@ -285,6 +285,8 @@ # #statusbar_visibility = "yes" # +#titles_visibility = "yes" +# #header_text_scrolling = "yes" # #fancy_scrolling = "yes" diff --git a/doc/ncmpcpp.1 b/doc/ncmpcpp.1 index 8bec5210..9d0ace9c 100644 --- a/doc/ncmpcpp.1 +++ b/doc/ncmpcpp.1 @@ -195,6 +195,9 @@ If enabled, header window will be displayed, otherwise hidden. .B statusbar_visibility = yes/no If enabled, statusbar will be displayed, otherwise hidden. .TP +.B titles_visibility = yes/no +If enabled, column titles will be displayed, otherwise hidden. +.TP .B autocenter_mode = yes/no Default state for autocenter mode at start. .TP diff --git a/src/browser.cpp b/src/browser.cpp index 8c7ae267..6af47f53 100644 --- a/src/browser.cpp +++ b/src/browser.cpp @@ -59,7 +59,7 @@ void Browser::Init() { static Display::ScreenFormat sf = { this, &Config.song_list_format }; - w = new Menu(0, MainStartY, COLS, MainHeight, Config.columns_in_browser ? Display::Columns() : "", Config.main_color, brNone); + w = new Menu(0, MainStartY, COLS, MainHeight, Config.columns_in_browser && Config.titles_visibility ? Display::Columns() : "", Config.main_color, brNone); w->HighlightColor(Config.main_highlight_color); w->CyclicScrolling(Config.use_cyclic_scrolling); w->CenteredCursor(Config.centered_cursor); diff --git a/src/media_library.cpp b/src/media_library.cpp index c7a7136d..949d8456 100644 --- a/src/media_library.cpp +++ b/src/media_library.cpp @@ -57,7 +57,7 @@ void MediaLibrary::Init() itsRightColWidth = COLS-COLS/3*2-1; itsRightColStartX = itsLeftColWidth+itsMiddleColWidth+2; - Artists = new Menu(0, MainStartY, itsLeftColWidth, MainHeight, IntoStr(Config.media_lib_primary_tag) + "s", Config.main_color, brNone); + Artists = new Menu(0, MainStartY, itsLeftColWidth, MainHeight, Config.titles_visibility ? IntoStr(Config.media_lib_primary_tag) + "s" : "", Config.main_color, brNone); Artists->HighlightColor(Config.active_column_color); Artists->CyclicScrolling(Config.use_cyclic_scrolling); Artists->CenteredCursor(Config.centered_cursor); @@ -65,7 +65,7 @@ void MediaLibrary::Init() Artists->SetSelectSuffix(&Config.selected_item_suffix); Artists->SetItemDisplayer(DisplayPrimaryTags); - Albums = new Menu(itsMiddleColStartX, MainStartY, itsMiddleColWidth, MainHeight, "Albums", Config.main_color, brNone); + Albums = new Menu(itsMiddleColStartX, MainStartY, itsMiddleColWidth, MainHeight, Config.titles_visibility ? "Albums" : "", Config.main_color, brNone); Albums->HighlightColor(Config.main_highlight_color); Albums->CyclicScrolling(Config.use_cyclic_scrolling); Albums->CenteredCursor(Config.centered_cursor); @@ -77,7 +77,7 @@ void MediaLibrary::Init() static Display::ScreenFormat sf = { this, &Config.song_library_format }; - Songs = new Menu(itsRightColStartX, MainStartY, itsRightColWidth, MainHeight, "Songs", Config.main_color, brNone); + Songs = new Menu(itsRightColStartX, MainStartY, itsRightColWidth, MainHeight, Config.titles_visibility ? "Songs" : "", Config.main_color, brNone); Songs->HighlightColor(Config.main_highlight_color); Songs->CyclicScrolling(Config.use_cyclic_scrolling); Songs->CenteredCursor(Config.centered_cursor); @@ -152,12 +152,17 @@ void MediaLibrary::SwitchTo() { if (w == Artists) NextColumn(); - std::string item_type = IntoStr(Config.media_lib_primary_tag); - ToLower(item_type); - Albums->SetTitle("Albums (sorted by " + item_type + ")"); + if (Config.titles_visibility) + { + std::string item_type = IntoStr(Config.media_lib_primary_tag); + ToLower(item_type); + Albums->SetTitle("Albums (sorted by " + item_type + ")"); + } + else + Albums->SetTitle(""); } else - Albums->SetTitle("Albums"); + Albums->SetTitle(Config.titles_visibility ? "Albums" : ""); } } diff --git a/src/ncmpcpp.cpp b/src/ncmpcpp.cpp index 6ab3f301..924dab86 100644 --- a/src/ncmpcpp.cpp +++ b/src/ncmpcpp.cpp @@ -1352,7 +1352,7 @@ int main(int argc, char *argv[]) if (Config.columns_in_playlist) { myPlaylist->Items->SetItemDisplayer(Display::SongsInColumns); - myPlaylist->Items->SetTitle(Display::Columns()); + myPlaylist->Items->SetTitle(Config.titles_visibility ? Display::Columns() : ""); myPlaylist->Items->SetGetStringFunction(Playlist::SongInColumnsToString); } else @@ -1366,7 +1366,7 @@ int main(int argc, char *argv[]) { Config.columns_in_browser = !Config.columns_in_browser; ShowMessage("Browser display mode: %s", Config.columns_in_browser ? "Columns" : "Classic"); - myBrowser->Main()->SetTitle(Config.columns_in_browser ? Display::Columns() : ""); + myBrowser->Main()->SetTitle(Config.columns_in_browser && Config.titles_visibility ? Display::Columns() : ""); } else if (myScreen == mySearcher) @@ -1374,7 +1374,7 @@ int main(int argc, char *argv[]) Config.columns_in_search_engine = !Config.columns_in_search_engine; ShowMessage("Search engine display mode: %s", Config.columns_in_search_engine ? "Columns" : "Classic"); if (mySearcher->Main()->Size() > SearchEngine::StaticOptions) - mySearcher->Main()->SetTitle(Config.columns_in_search_engine ? Display::Columns() : ""); + mySearcher->Main()->SetTitle(Config.columns_in_search_engine && Config.titles_visibility ? Display::Columns() : ""); } } else if (Keypressed(input, Key.ToggleSeparatorsInPlaylist)) @@ -2102,7 +2102,7 @@ int main(int argc, char *argv[]) { Config.media_lib_primary_tag = new_tagitem; std::string item_type = IntoStr(Config.media_lib_primary_tag); - myLibrary->Artists->SetTitle(item_type + "s"); + myLibrary->Artists->SetTitle(Config.titles_visibility ? item_type + "s" : ""); myLibrary->Artists->Reset(); ToLower(item_type); if (myLibrary->Columns() == 2) @@ -2110,7 +2110,7 @@ int main(int argc, char *argv[]) myLibrary->Songs->Clear(); myLibrary->Albums->Reset(); myLibrary->Albums->Clear(); - myLibrary->Albums->SetTitle("Albums (sorted by " + item_type + ")"); + myLibrary->Albums->SetTitle(Config.titles_visibility ? "Albums (sorted by " + item_type + ")" : ""); myLibrary->Albums->Display(); } else diff --git a/src/playlist.cpp b/src/playlist.cpp index 1de4749d..114f40b6 100644 --- a/src/playlist.cpp +++ b/src/playlist.cpp @@ -49,7 +49,7 @@ void Playlist::Init() { static Display::ScreenFormat sf = { this, &Config.song_list_format }; - Items = new Menu(0, MainStartY, COLS, MainHeight, Config.columns_in_playlist ? Display::Columns() : "", Config.main_color, brNone); + Items = new Menu(0, MainStartY, COLS, MainHeight, Config.columns_in_playlist && Config.titles_visibility ? Display::Columns() : "", Config.main_color, brNone); Items->CyclicScrolling(Config.use_cyclic_scrolling); Items->CenteredCursor(Config.centered_cursor); Items->HighlightColor(Config.main_highlight_color); @@ -118,7 +118,7 @@ void Playlist::Resize() { Items->Resize(COLS, MainHeight); Items->MoveTo(0, MainStartY); - Items->SetTitle(Config.columns_in_playlist ? Display::Columns() : ""); + Items->SetTitle(Config.columns_in_playlist && Config.titles_visibility ? Display::Columns() : ""); if (w == SortDialog) // if sorting window is active, playlist needs refreshing Items->Display(); diff --git a/src/playlist_editor.cpp b/src/playlist_editor.cpp index f85e58c6..cb24310f 100644 --- a/src/playlist_editor.cpp +++ b/src/playlist_editor.cpp @@ -45,7 +45,7 @@ void PlaylistEditor::Init() RightColumnStartX = LeftColumnWidth+1; RightColumnWidth = COLS-LeftColumnWidth-1; - Playlists = new Menu(0, MainStartY, LeftColumnWidth, MainHeight, "Playlists", Config.main_color, brNone); + Playlists = new Menu(0, MainStartY, LeftColumnWidth, MainHeight, Config.titles_visibility ? "Playlists" : "", Config.main_color, brNone); Playlists->HighlightColor(Config.active_column_color); Playlists->CyclicScrolling(Config.use_cyclic_scrolling); Playlists->CenteredCursor(Config.centered_cursor); @@ -53,7 +53,7 @@ void PlaylistEditor::Init() static Display::ScreenFormat sf = { this, &Config.song_list_format }; - Content = new Menu(RightColumnStartX, MainStartY, RightColumnWidth, MainHeight, "Playlist's content", Config.main_color, brNone); + Content = new Menu(RightColumnStartX, MainStartY, RightColumnWidth, MainHeight, Config.titles_visibility ? "Playlist's content" : "", Config.main_color, brNone); Content->HighlightColor(Config.main_highlight_color); Content->CyclicScrolling(Config.use_cyclic_scrolling); Content->CenteredCursor(Config.centered_cursor); @@ -139,9 +139,9 @@ void PlaylistEditor::Update() MPD::SongList list; Mpd.GetPlaylistContent(locale_to_utf_cpy(Playlists->Current()), list); if (!list.empty()) - Content->SetTitle("Playlist's content (" + IntoStr(list.size()) + " item" + (list.size() == 1 ? ")" : "s)")); + Content->SetTitle(Config.titles_visibility ? "Playlist's content (" + IntoStr(list.size()) + " item" + (list.size() == 1 ? ")" : "s)") : ""); else - Content->SetTitle("Playlist's content"); + Content->SetTitle(Config.titles_visibility ? "Playlist's content" : ""); bool bold = 0; for (MPD::SongList::const_iterator it = list.begin(); it != list.end(); ++it) { diff --git a/src/search_engine.cpp b/src/search_engine.cpp index af241752..18dad988 100644 --- a/src/search_engine.cpp +++ b/src/search_engine.cpp @@ -155,7 +155,7 @@ void SearchEngine::EnterPressed() if (!w->Back().first) { if (Config.columns_in_search_engine) - w->SetTitle(Display::Columns()); + w->SetTitle(Config.titles_visibility ? Display::Columns() : ""); size_t found = w->Size()-SearchEngine::StaticOptions; found += 3; // don't count options inserted below w->InsertSeparator(ResetButton+1); diff --git a/src/settings.cpp b/src/settings.cpp index b4b5c028..789bbee9 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -378,6 +378,7 @@ void NcmpcppConfig::SetDefaults() header_visibility = true; header_text_scrolling = true; statusbar_visibility = true; + titles_visibility = true; centered_cursor = false; screen_switcher_previous = false; autocenter_mode = false; @@ -899,6 +900,10 @@ void NcmpcppConfig::Read() { statusbar_visibility = v == "yes"; } + else if (cl.find("titles_visibility") != std::string::npos) + { + titles_visibility = v == "yes"; + } else if (cl.find("screen_switcher_mode") != std::string::npos) { if (v.find("previous") != std::string::npos) diff --git a/src/settings.h b/src/settings.h index 159fdea9..18b9c339 100644 --- a/src/settings.h +++ b/src/settings.h @@ -215,6 +215,7 @@ struct NcmpcppConfig bool header_visibility; bool header_text_scrolling; bool statusbar_visibility; + bool titles_visibility; bool centered_cursor; bool screen_switcher_previous; bool autocenter_mode; diff --git a/src/tag_editor.cpp b/src/tag_editor.cpp index 199bf259..03571e27 100644 --- a/src/tag_editor.cpp +++ b/src/tag_editor.cpp @@ -64,14 +64,14 @@ void TagEditor::Init() { SetDimensions(); - Albums = new Menu(0, MainStartY, LeftColumnWidth, MainHeight, "Albums", Config.main_color, brNone); + Albums = new Menu(0, MainStartY, LeftColumnWidth, MainHeight, Config.titles_visibility ? "Albums" : "", Config.main_color, brNone); Albums->HighlightColor(Config.active_column_color); Albums->CyclicScrolling(Config.use_cyclic_scrolling); Albums->CenteredCursor(Config.centered_cursor); Albums->SetItemDisplayer(Display::Pairs); Albums->SetGetStringFunction(StringPairToString); - Dirs = new Menu(0, MainStartY, LeftColumnWidth, MainHeight, "Directories", Config.main_color, brNone); + Dirs = new Menu(0, MainStartY, LeftColumnWidth, MainHeight, Config.titles_visibility ? "Directories" : "", Config.main_color, brNone); Dirs->HighlightColor(Config.active_column_color); Dirs->CyclicScrolling(Config.use_cyclic_scrolling); Dirs->CenteredCursor(Config.centered_cursor); @@ -80,7 +80,7 @@ void TagEditor::Init() LeftColumn = Config.albums_in_tag_editor ? Albums : Dirs; - TagTypes = new Menu(MiddleColumnStartX, MainStartY, MiddleColumnWidth, MainHeight, "Tag types", Config.main_color, brNone); + TagTypes = new Menu(MiddleColumnStartX, MainStartY, MiddleColumnWidth, MainHeight, Config.titles_visibility ? "Tag types" : "", Config.main_color, brNone); TagTypes->HighlightColor(Config.main_highlight_color); TagTypes->CyclicScrolling(Config.use_cyclic_scrolling); TagTypes->CenteredCursor(Config.centered_cursor); @@ -91,7 +91,8 @@ void TagEditor::Init() TagTypes->AddSeparator(); TagTypes->AddOption("Filename"); TagTypes->AddSeparator(); - TagTypes->AddOption("Options", 1, 1); + if (Config.titles_visibility) + TagTypes->AddOption("Options", 1, 1); TagTypes->AddSeparator(); TagTypes->AddOption("Reset"); TagTypes->AddOption("Save"); @@ -99,7 +100,7 @@ void TagEditor::Init() TagTypes->AddOption("Capitalize First Letters"); TagTypes->AddOption("lower all letters"); - Tags = new Menu(RightColumnStartX, MainStartY, RightColumnWidth, MainHeight, "Tags", Config.main_color, brNone); + Tags = new Menu(RightColumnStartX, MainStartY, RightColumnWidth, MainHeight, Config.titles_visibility ? "Tags" : "", Config.main_color, brNone); Tags->HighlightColor(Config.main_highlight_color); Tags->CyclicScrolling(Config.use_cyclic_scrolling); Tags->CenteredCursor(Config.centered_cursor);