mirror of
https://github.com/rad4day/Waybar.git
synced 2023-12-21 10:22:59 +01:00
Merge pull request #1002 from nullobsi/master
add length limits for MPD module tags
This commit is contained in:
commit
b1dd62078f
@ -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),
|
||||||
|
Loading…
Reference in New Issue
Block a user