mirror of
				https://github.com/rad4day/Waybar.git
				synced 2025-11-04 09:42:42 +01:00 
			
		
		
		
	Merge pull request #1002 from nullobsi/master
add length limits for MPD module tags
This commit is contained in:
		@@ -73,6 +73,22 @@ Addressed by *mpd*
 | 
				
			|||||||
	default: "MPD (disconnected)" ++
 | 
						default: "MPD (disconnected)" ++
 | 
				
			||||||
	Tooltip information displayed when the MPD server can't be reached.
 | 
						Tooltip information displayed when the MPD server can't be reached.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*artist-len*: ++
 | 
				
			||||||
 | 
					    typeof: integer ++
 | 
				
			||||||
 | 
					    Maximum length of the Artist tag.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*album-len*: ++
 | 
				
			||||||
 | 
					    typeof: integer ++
 | 
				
			||||||
 | 
					    Maximum length of the Album tag.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*album-artist-len*: ++
 | 
				
			||||||
 | 
					    typeof: integer ++
 | 
				
			||||||
 | 
					    Maximum length of the Album Artist tag.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*title-len*: ++
 | 
				
			||||||
 | 
					    typeof: integer ++
 | 
				
			||||||
 | 
					    Maximum length of the Title tag.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
*rotate*: ++
 | 
					*rotate*: ++
 | 
				
			||||||
	typeof: integer ++
 | 
						typeof: integer ++
 | 
				
			||||||
	Positive value to rotate the text label.
 | 
						Positive value to rotate the text label.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include <fmt/chrono.h>
 | 
					#include <fmt/chrono.h>
 | 
				
			||||||
#include <spdlog/spdlog.h>
 | 
					#include <spdlog/spdlog.h>
 | 
				
			||||||
 | 
					#include <glibmm/ustring.h>
 | 
				
			||||||
#include "modules/mpd/state.hpp"
 | 
					#include "modules/mpd/state.hpp"
 | 
				
			||||||
#if defined(MPD_NOINLINE)
 | 
					#if defined(MPD_NOINLINE)
 | 
				
			||||||
namespace waybar::modules {
 | 
					namespace waybar::modules {
 | 
				
			||||||
@@ -98,8 +98,8 @@ void waybar::modules::MPD::setLabel() {
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  auto format = format_;
 | 
					  auto format = format_;
 | 
				
			||||||
 | 
					  Glib::ustring        artist, album_artist, album, title;
 | 
				
			||||||
  std::string          artist, album_artist, album, title, date;
 | 
					  std::string          date;
 | 
				
			||||||
  int                  song_pos = 0, queue_length = 0;
 | 
					  int                  song_pos = 0, queue_length = 0;
 | 
				
			||||||
  std::chrono::seconds elapsedTime, totalTime;
 | 
					  std::chrono::seconds elapsedTime, totalTime;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -143,6 +143,10 @@ void waybar::modules::MPD::setLabel() {
 | 
				
			|||||||
  std::string repeatIcon = getOptionIcon("repeat", repeatActivated);
 | 
					  std::string repeatIcon = getOptionIcon("repeat", repeatActivated);
 | 
				
			||||||
  bool        singleActivated = mpd_status_get_single(status_.get());
 | 
					  bool        singleActivated = mpd_status_get_single(status_.get());
 | 
				
			||||||
  std::string singleIcon = getOptionIcon("single", singleActivated);
 | 
					  std::string singleIcon = getOptionIcon("single", singleActivated);
 | 
				
			||||||
 | 
					  if (config_["artist-len"].isInt()) artist = artist.substr(0, config_["artist-len"].asInt());
 | 
				
			||||||
 | 
					  if (config_["album-artist-len"].isInt()) album_artist = album_artist.substr(0, config_["album-artist-len"].asInt());
 | 
				
			||||||
 | 
					  if (config_["album-len"].isInt()) album = album.substr(0, config_["album-len"].asInt());
 | 
				
			||||||
 | 
					  if (config_["title-len"].isInt()) title = title.substr(0,config_["title-len"].asInt());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  try {
 | 
					  try {
 | 
				
			||||||
    label_.set_markup(
 | 
					    label_.set_markup(
 | 
				
			||||||
@@ -171,10 +175,10 @@ void waybar::modules::MPD::setLabel() {
 | 
				
			|||||||
                                                          : "MPD (connected)";
 | 
					                                                          : "MPD (connected)";
 | 
				
			||||||
    try {
 | 
					    try {
 | 
				
			||||||
      auto tooltip_text = fmt::format(tooltip_format,
 | 
					      auto tooltip_text = fmt::format(tooltip_format,
 | 
				
			||||||
                                      fmt::arg("artist", artist),
 | 
					                                      fmt::arg("artist", artist.raw()),
 | 
				
			||||||
                                      fmt::arg("albumArtist", album_artist),
 | 
					                                      fmt::arg("albumArtist", album_artist.raw()),
 | 
				
			||||||
                                      fmt::arg("album", album),
 | 
					                                      fmt::arg("album", album.raw()),
 | 
				
			||||||
                                      fmt::arg("title", title),
 | 
					                                      fmt::arg("title", title.raw()),
 | 
				
			||||||
                                      fmt::arg("date", date),
 | 
					                                      fmt::arg("date", date),
 | 
				
			||||||
                                      fmt::arg("elapsedTime", elapsedTime),
 | 
					                                      fmt::arg("elapsedTime", elapsedTime),
 | 
				
			||||||
                                      fmt::arg("totalTime", totalTime),
 | 
					                                      fmt::arg("totalTime", totalTime),
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user