Skip to content

Releases: un-def/i3blocks-mpris

2.2.0

08 Sep 09:02
Compare
Choose a tag to compare

Features

  • Multi-instance player support. It's now possible to specify a player by its non-unique name prefix only, without the unique instance suffix, e.g., -p firefox instead of -p firefox.instance_1_34. The blocklet monitors all instances and pick the new one when the previous disappears.
  • Improved formatter by @tellezhector:
    • Added fallback to built-in Formatter format specs. See Python Docs.
    • Added a format_spec for truncating strings and adding a suffix {string:.<max_length>,<suffix>}.
  • Added a placeholder message displayed when there is no player.

Changes

  • The blocket no longer handles SIGINT. See PR #14 for an explanation.

2.1.0

25 Dec 11:44
Compare
Choose a tag to compare

Changes

  • Dropped Python 3.6 and 3.7 support.

Features

  • Added Python 3.12 support.
  • Added sanitize_unicode option (enabled by default) to remove some non-printable unicode characters (see #9).
  • Added title filter.

Internal Changes

  • All Formatter constructor/initializer arguments are now required (no default values) and keyword-only.

2.0.1

19 Apr 09:43
Compare
Choose a tag to compare

Fixes

  • An empty string is now used as a fallback for missing metadata fields (artist, title). Previously, an exception would be raised if any of the required fields were missing.

2.0.0

14 Apr 11:07
Compare
Choose a tag to compare

Changes

  • The blocklet now works with any media player that supports the MPRIS D-Bus interface, not only the Spotify app. A new required parameter player was introduced. To indicate this change, the blocklet was renamed from i3blocks-spotify-persist to i3blocks-mpris.
  • The minimum Python version was bumped to 3.6.

Fixes

  • The PlaybackStatus and Metadata properties is now cached to properly handle the PropertiesChanged signal. There was no issue with the Spotify app purely by chance.
  • Fixed erroneous init_player() logic.

1.2.0

30 Oct 12:52
Compare
Choose a tag to compare

Fixes

  • Fixed an issue where the blocklet would hang up hugging CPU when Spotify app was not running for a while (#6).

Internal Changes

  • The NameOwnerChanged signal is now used instead of time.sleep(1) polling to get the Spotify object. This change provides a fix for the issue mentioned above.
  • The stdin input thread was replaced with GIO InputStream async (callback-based) reads.
  • Some “public” methods and a constructor of the SpotifyBlocket class were changed. Although these changes are actually breaking from a “public” API point of view, there was only a minor (not major) version bump since it's unlikely that the blocket is used as a Python library by anyone.

1.1.0

18 May 09:02
Compare
Choose a tag to compare

Features

  • Added support for command line arguments.
  • Deduplication of messages — the updated message will be printed only if it differs from the previous one.

Changes

  • The default format now uses a textual status instead of an icon.
  • Pango markup escape is now disabled by default

1.0.0

14 May 08:28
Compare
Choose a tag to compare

The first public release.