mirror of
				https://github.com/rad4day/Waybar.git
				synced 2025-11-04 09:42:42 +01:00 
			
		
		
		
	mpris: update docs
This commit is contained in:
		@@ -45,8 +45,7 @@ The *mpris* module displays currently playing media via libplayerctl.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
*tooltip-format-[status]*: ++
 | 
					*tooltip-format-[status]*: ++
 | 
				
			||||||
	typeof: string ++
 | 
						typeof: string ++
 | 
				
			||||||
	default: "MPD (disconnected)" ++
 | 
						The status-specific tooltip format.
 | 
				
			||||||
	The status-specif tooltip format.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
*artist-len*: ++
 | 
					*artist-len*: ++
 | 
				
			||||||
	typeof: integer ++
 | 
						typeof: integer ++
 | 
				
			||||||
@@ -66,34 +65,34 @@ The *mpris* module displays currently playing media via libplayerctl.
 | 
				
			|||||||
*dynamic-len*: ++
 | 
					*dynamic-len*: ++
 | 
				
			||||||
	typeof: integer ++
 | 
						typeof: integer ++
 | 
				
			||||||
	Maximum length of the Dynamic tag (Wide/Fullwidth Unicode characters
 | 
						Maximum length of the Dynamic tag (Wide/Fullwidth Unicode characters
 | 
				
			||||||
	count as two).
 | 
						count as two). The dynamic tag will not truncate any tags beyond their
 | 
				
			||||||
 | 
						set length limits, instead, it will attempt to fit as much of the
 | 
				
			||||||
 | 
						available tags as possible. It is recommended you set title-len to
 | 
				
			||||||
 | 
						something less than or equal to this value, so the title will always be
 | 
				
			||||||
 | 
						displayed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
*dynamic-priority* ++ 
 | 
					*dynamic-priority* ++ 
 | 
				
			||||||
	typeof: []string ++
 | 
						typeof: []string ++
 | 
				
			||||||
	default: ["title", "length", "artist", "album"]
 | 
						default: ["title", "length", "position", "artist", "album"]
 | 
				
			||||||
	Priority of the tags when truncating the Dynamic tag (absence in this
 | 
						Priority of the tags when truncating the Dynamic tag (absence in this
 | 
				
			||||||
	list means force inclusion).
 | 
						list means force inclusion).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
*truncate-hours*: ++
 | 
					*truncate-hours*: ++
 | 
				
			||||||
	typeof: bool ++
 | 
						typeof: bool ++
 | 
				
			||||||
	default: true ++
 | 
						default: true ++
 | 
				
			||||||
	Whether to truncate hours when media duration is less than an hour long
 | 
						Whether to hide hours when media duration is less than an hour long.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
*enable-tooltip-len-limits*: ++
 | 
					*enable-tooltip-len-limits*: ++
 | 
				
			||||||
	typeof: bool ++
 | 
						typeof: bool ++
 | 
				
			||||||
	default: false ++
 | 
						default: false ++
 | 
				
			||||||
	Option to enable the length limits for the tooltip as well
 | 
						Option to enable the length limits for the tooltip as well. By default
 | 
				
			||||||
 | 
						the tooltip ignores all length limits.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
*ellipsis*: ++
 | 
					*ellipsis*: ++
 | 
				
			||||||
	typeof: string ++
 | 
						typeof: string ++
 | 
				
			||||||
	default: "…" ++
 | 
						default: "…" ++
 | 
				
			||||||
	Override the default ellipsis (set to empty string to simply truncate
 | 
						This character will be used when any of the tags exceed their maximum
 | 
				
			||||||
	the tags when needed instead).
 | 
						length. If you don't want to use an ellipsis, set this to empty string.
 | 
				
			||||||
 | 
					 | 
				
			||||||
*on-click*: ++
 | 
					 | 
				
			||||||
	typeof: string ++
 | 
					 | 
				
			||||||
	default: play-pause ++
 | 
					 | 
				
			||||||
	Overwrite default action toggles.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
*on-click*: ++
 | 
					*on-click*: ++
 | 
				
			||||||
	typeof: string ++
 | 
						typeof: string ++
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -206,7 +206,7 @@ size_t utf8_truncate(std::string& str, size_t width = std::string::npos) {
 | 
				
			|||||||
      return str.length();
 | 
					      return str.length();
 | 
				
			||||||
    } else if (g_unichar_iswide(c)) {
 | 
					    } else if (g_unichar_iswide(c)) {
 | 
				
			||||||
      total_width += 2;
 | 
					      total_width += 2;
 | 
				
			||||||
    } else if (!g_unichar_iszerowidth(c)) {
 | 
					    } else if (!g_unichar_iszerowidth(c) && c != 0xAD) { // neither zero-width nor soft hyphen
 | 
				
			||||||
      total_width += 1;
 | 
					      total_width += 1;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -339,6 +339,11 @@ auto Mpris::getDynamicStr(const PlayerInfo& info, bool truncated, bool html) ->
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  std::stringstream dynamic;
 | 
					  std::stringstream dynamic;
 | 
				
			||||||
 | 
					  if (html) {
 | 
				
			||||||
 | 
					    artist = Glib::Markup::escape_text(artist);
 | 
				
			||||||
 | 
					    album = Glib::Markup::escape_text(album);
 | 
				
			||||||
 | 
					    title = Glib::Markup::escape_text(title);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
  if (showArtist) dynamic << artist << " - ";
 | 
					  if (showArtist) dynamic << artist << " - ";
 | 
				
			||||||
  if (showAlbum) dynamic << album << " - ";
 | 
					  if (showAlbum) dynamic << album << " - ";
 | 
				
			||||||
  if (showTitle) dynamic << title;
 | 
					  if (showTitle) dynamic << title;
 | 
				
			||||||
@@ -472,21 +477,21 @@ auto Mpris::getPlayerInfo() -> std::optional<PlayerInfo> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  if (auto artist_ = playerctl_player_get_artist(player, &error)) {
 | 
					  if (auto artist_ = playerctl_player_get_artist(player, &error)) {
 | 
				
			||||||
    spdlog::debug("mpris[{}]: artist = {}", info.name, artist_);
 | 
					    spdlog::debug("mpris[{}]: artist = {}", info.name, artist_);
 | 
				
			||||||
    info.artist = Glib::Markup::escape_text(artist_);
 | 
					    info.artist = artist_;
 | 
				
			||||||
    g_free(artist_);
 | 
					    g_free(artist_);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  if (error) goto errorexit;
 | 
					  if (error) goto errorexit;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (auto album_ = playerctl_player_get_album(player, &error)) {
 | 
					  if (auto album_ = playerctl_player_get_album(player, &error)) {
 | 
				
			||||||
    spdlog::debug("mpris[{}]: album = {}", info.name, album_);
 | 
					    spdlog::debug("mpris[{}]: album = {}", info.name, album_);
 | 
				
			||||||
    info.album = Glib::Markup::escape_text(album_);
 | 
					    info.album = album_;
 | 
				
			||||||
    g_free(album_);
 | 
					    g_free(album_);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  if (error) goto errorexit;
 | 
					  if (error) goto errorexit;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (auto title_ = playerctl_player_get_title(player, &error)) {
 | 
					  if (auto title_ = playerctl_player_get_title(player, &error)) {
 | 
				
			||||||
    spdlog::debug("mpris[{}]: title = {}", info.name, title_);
 | 
					    spdlog::debug("mpris[{}]: title = {}", info.name, title_);
 | 
				
			||||||
    info.title = Glib::Markup::escape_text(title_);
 | 
					    info.title = title_;
 | 
				
			||||||
    g_free(title_);
 | 
					    g_free(title_);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  if (error) goto errorexit;
 | 
					  if (error) goto errorexit;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user