StatusBar: add option "timedisplay-type=none" to hide current song time
authorMax Kellermann <max@musicpd.org>
Wed, 29 Apr 2020 21:31:54 +0000 (23:31 +0200)
committerMax Kellermann <max@musicpd.org>
Wed, 29 Apr 2020 21:33:43 +0000 (23:33 +0200)
NEWS
doc/index.rst
src/ConfigParser.cxx
src/Options.hxx
src/StatusBar.cxx

diff --git a/NEWS b/NEWS
index 199bb92..fc5d0a1 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,5 @@
 ncmpc 0.38 - not yet released
+* add option "timedisplay-type=none" to hide current song time
 
 ncmpc 0.37 - (2020-01-24)
 * show performer on song page
index cb92ca4..975e663 100644 (file)
@@ -208,9 +208,9 @@ which status messages will be displayed.
 :command:`display-time = yes|no` - Display the time in the status bar
 when idle.
 
-:command:`timedisplay-type = elapsed/remaining` - Sets whether to
+:command:`timedisplay-type = elapsed|remaining|none` - Sets whether to
 display remaining or elapsed time in the status window.  Default is
-elapsed.
+elapsed.  ``none`` doesn't show the time at all.
 
 :command:`visible-bitrate = yes|no` - Show the bitrate in the status
 bar when playing a stream.
index 0d81743..b2e7282 100644 (file)
@@ -195,6 +195,8 @@ ParseCurrentTimeDisplay(const char *str)
                return CurrentTimeDisplay::ELAPSED;
        else if (strcmp(str, "remaining") == 0)
                return CurrentTimeDisplay::REMAINING;
+       else if (strcmp(str, "none") == 0)
+               return CurrentTimeDisplay::NONE;
        else
                throw FormatRuntimeError("%s: %s",
                                         /* translators: ncmpc
index d83d737..c2deccd 100644 (file)
@@ -33,6 +33,7 @@
 enum class CurrentTimeDisplay : uint8_t {
        ELAPSED,
        REMAINING,
+       NONE,
 };
 
 struct Options {
index b9a2620..e9b00bb 100644 (file)
@@ -93,6 +93,9 @@ FormatCurrentSongTime(char *buffer, size_t size,
                      const struct mpd_status &status,
                      const DelayedSeek &seek) noexcept
 {
+       if (options.current_time_display == CurrentTimeDisplay::NONE)
+               return;
+
        const unsigned total_time = mpd_status_get_total_time(&status);
        if (total_time == 0)
                return;
@@ -108,6 +111,7 @@ FormatCurrentSongTime(char *buffer, size_t size,
        /* checks the conf to see whether to display elapsed or
           remaining time */
        switch (options.current_time_display) {
+       case CurrentTimeDisplay::NONE:
        case CurrentTimeDisplay::ELAPSED:
                break;