Playerctl is a command-line utility and library designed for controlling media players that adhere to the MPRIS D-Bus interface specification. It simplifies binding media player actions like play and pause to media keys, and retrieving metadata such as artist and title for integration into other tools. A daemon, playerctld, monitors and manages media player activity in the background.
Playerctl supports a wide range of media players and integrates seamlessly with statusline generators through a powerful templating system. Its flexible command-line interface allows for precise control over individual players or groups of players. The utility’s ability to monitor active players and its robust metadata retrieval capabilities distinguish it from simpler playback tools.
- Multi-Player Support: Controls a wide array of media players (VLC, MPV, Spotify, etc.) via MPRIS.
- Command-Line Interface: Provides a flexible and powerful command-line interface for controlling playback and retrieving metadata.
- Templating System: Supports a template language for extracting and formatting data from media player metadata.
- Daemon Mode: Includes a daemon to monitor media player activity and automatically control them.
- Extensible: Allows for integration into custom scripts and workflows.
- Metadata Access: Provides access to a variety of media metadata (artist, title, album, position).
- Status Monitoring: Enables monitoring of media player status (playing, paused, stopped).
Playerctl is an active project with regular updates and a responsive community. The project has a solid release history, with recent commits indicating ongoing development and bug fixes. The documentation is relatively complete, providing comprehensive information on usage and features. While the community is not massive, it’s active and helpful, offering support and contributing to the project.
Playerctl benefits developers and power users who need programmatic control over their media playback. It's valuable for creating custom media player integrations, building statusline generators, and automating media-related tasks. It offers more control and flexibility than relying on platform-specific APIs or manual scripting.
