From cb3e1f6791fbf882d345a6abd9f1b253039c996b Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Wed, 9 Jan 2019 22:37:47 -0500 Subject: [PATCH] Add playing-prefix REBASE-ME! Add parser entry for "not_playing_prefix" squash --- src/display.cpp | 29 +++++++++++++++++++++-------- src/settings.cpp | 10 ++++++++++ src/settings.h | 4 ++++ src/title.cpp | 8 ++++---- 4 files changed, 39 insertions(+), 12 deletions(-) diff --git a/src/display.cpp b/src/display.cpp index ddf87932..91c02e4d 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -112,6 +112,8 @@ void setProperties(NC::Menu &menu, const MPD::Song &s, const SongList &list, && song_pos == Status::State::currentSongPosition(); if (is_now_playing) menu << Config.now_playing_prefix; + else + menu << Config.not_playing_prefix; is_in_playlist = !myPlaylist->isActiveWindow(menu) && myPlaylist->checkForSong(s); @@ -131,6 +133,8 @@ void unsetProperties(NC::Menu &menu, bool separate_albums, bool is_now_playin if (is_now_playing) menu << Config.now_playing_suffix; + else + menu << Config.not_playing_suffix; if (separate_albums) menu << NC::Format::NoUnderline; @@ -160,6 +164,8 @@ void showSongs(NC::Menu &menu, const MPD::Song &s, const SongList &list, cons } if (is_now_playing) x_off -= Config.now_playing_suffix_length; + else + x_off -= Config.not_playing_suffix_length; if (is_selected) x_off -= Config.selected_item_suffix_length; menu << NC::TermManip::ClearToEOL << NC::XY(x_off, y) << right_aligned; @@ -193,9 +199,14 @@ void showSongsInColumns(NC::Menu &menu, const MPD::Song &s, const SongList &l } if (is_now_playing) { - menu_width -= Config.now_playing_prefix_length; - menu_width -= Config.now_playing_suffix_length; + // menu_width -= Config.now_playing_prefix_length; + //menu_width -= Config.now_playing_suffix_length; + } else + { + //menu_width -= Config.not_playing_prefix_length; + //menu_width -= Config.not_playing_suffix_length; } + if (is_selected) { menu_width -= Config.selected_item_prefix_length; @@ -276,7 +287,9 @@ std::string Display::Columns(size_t list_width) std::string result; if (Config.columns.empty()) return result; - + + result += Config.not_playing_prefix.str(); + int width; int remained_width = list_width; std::vector::const_iterator it, last = Config.columns.end() - 1; @@ -295,11 +308,11 @@ std::string Display::Columns(size_t list_width) // and next column, so we substract it now and restore later. if (it != last) --width; - + // if column doesn't fit into screen, discard it and any other after it. if (remained_width-width < 0 || width < 0 /* this one may come from (*) */) break; - + std::wstring name; if (it->name.empty()) { @@ -317,7 +330,7 @@ std::string Display::Columns(size_t list_width) else name = it->name; wideCut(name, width); - + int x_off = std::max(0, width - int(wideLength(name))); if (it->right_alignment) { @@ -329,7 +342,7 @@ std::string Display::Columns(size_t list_width) result += Charset::utf8ToLocale(ToString(name)); result += std::string(x_off, NC::Key::Space); } - + if (it != last) { // add missing width's part and restore the value. @@ -337,7 +350,7 @@ std::string Display::Columns(size_t list_width) result += ' '; } } - + return result; } diff --git a/src/settings.cpp b/src/settings.cpp index ddde73e0..beb2e476 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -356,6 +356,16 @@ bool Configuration::read(const std::vector &config_paths, bool igno nullptr, std::ref(now_playing_suffix_length), ph::_1)); + p.add("not_playing_prefix", ¬_playing_prefix, "", + std::bind(buffer_wlength, + nullptr, + std::ref(not_playing_prefix_length), + ph::_1)); + p.add("not_playing_suffix", ¬_playing_suffix, "", + std::bind(buffer_wlength, + nullptr, + std::ref(not_playing_suffix_length), + ph::_1)); p.add("browser_playlist_prefix", &browser_playlist_prefix, "$2playlist$9 ", buffer); p.add("selected_item_prefix", &selected_item_prefix, "$6", std::bind(buffer_wlength, diff --git a/src/settings.h b/src/settings.h index e9a8af08..c150bc9e 100644 --- a/src/settings.h +++ b/src/settings.h @@ -112,6 +112,8 @@ struct Configuration NC::Buffer selected_item_suffix; NC::Buffer now_playing_prefix; NC::Buffer now_playing_suffix; + NC::Buffer not_playing_prefix; + NC::Buffer not_playing_suffix; NC::Buffer modified_item_prefix; NC::Buffer current_item_prefix; NC::Buffer current_item_suffix; @@ -212,6 +214,8 @@ struct Configuration size_t selected_item_suffix_length; size_t now_playing_prefix_length; size_t now_playing_suffix_length; + size_t not_playing_prefix_length; + size_t not_playing_suffix_length; size_t current_item_prefix_length; size_t current_item_suffix_length; size_t current_item_inactive_column_prefix_length; diff --git a/src/title.cpp b/src/title.cpp index bcf61a50..6c0b0da3 100644 --- a/src/title.cpp +++ b/src/title.cpp @@ -37,7 +37,7 @@ void drawHeader() using Global::myScreen; using Global::wHeader; using Global::VolumeState; - + if (!Config.header_visibility) return; switch (Config.design) @@ -62,9 +62,9 @@ void drawHeader() mvwhline(wHeader->raw(), 4, 0, 0, COLS); *wHeader << NC::FormattedColor::End<>(Config.alternative_ui_separator_color) << NC::XY((COLS-wideLength(title))/2, 3) - << NC::Format::Bold - << title - << NC::Format::NoBold; + // << NC::Format::Bold + << title; + // << NC::Format::NoBold; break; } wHeader->refresh();