feat: Added playerctl plugin

This commit is contained in:
Steven de jong 🍟 2024-04-03 12:27:48 +02:00
parent a56a5f6622
commit 24486de337
4 changed files with 40 additions and 2 deletions

View file

@ -48,7 +48,7 @@ To enable plugins set up the `@dracula-plugins` option in you `.tmux.conf` file,
The order that you define the plugins will be the order on the status bar left to right. The order that you define the plugins will be the order on the status bar left to right.
```bash ```bash
# available plugins: battery, cpu-usage, git, gpu-usage, ram-usage, tmux-ram-usage, network, network-bandwidth, network-ping, ssh-session, attached-clients, network-vpn, weather, time, mpc, spotify-tui, kubernetes-context, synchronize-panes # available plugins: battery, cpu-usage, git, gpu-usage, ram-usage, tmux-ram-usage, network, network-bandwidth, network-ping, ssh-session, attached-clients, network-vpn, weather, time, mpc, spotify-tui, playerctl, kubernetes-context, synchronize-panes
set -g @dracula-plugins "cpu-usage gpu-usage ram-usage" set -g @dracula-plugins "cpu-usage gpu-usage ram-usage"
``` ```
@ -94,7 +94,7 @@ set -g @dracula-refresh-rate 5
Switch the left smiley icon Switch the left smiley icon
```bash ```bash
# it can accept `hostname` (full hostname), `session`, `shortname` (short name), `smiley`, `window`, or any character. # it can accept `hostname` (full hostname), `session`, `shortname` (short name), `smiley`, `window`, or any character.
set -g @dracula-show-left-icon session set -g @dracula-show-left-icon session
``` ```
@ -374,3 +374,11 @@ Show if the last save was performed less than 60 seconds ago (default threshold
```bash ```bash
set -g @dracula-continuum-time-threshold 60 set -g @dracula-continuum-time-threshold 60
``` ```
#### Playerctl format
Set the playerctl metadata format
```
set -g @dracula-playerctl-format "► {{ artist }} - {{ title }}"
```

View file

@ -36,6 +36,7 @@ Configuration and options can be found at [draculatheme.com/tmux](https://dracul
- Info if the Panes are synchronized - Info if the Panes are synchronized
- Spotify playback (needs the tool spotify-tui installed) - Spotify playback (needs the tool spotify-tui installed)
- Music Player Daemon status (needs the tool mpc installed) - Music Player Daemon status (needs the tool mpc installed)
- Playerctl, get current track metadata
- Current kubernetes context - Current kubernetes context
- Countdown to tmux-continuum save - Countdown to tmux-continuum save
- Current working directory of tmux pane - Current working directory of tmux pane

View file

@ -224,6 +224,10 @@ main()
IFS=' ' read -r -a colors <<<$(get_tmux_option "@dracula-spotify-tui-colors" "green dark_gray") IFS=' ' read -r -a colors <<<$(get_tmux_option "@dracula-spotify-tui-colors" "green dark_gray")
script="#($current_dir/spotify-tui.sh)" script="#($current_dir/spotify-tui.sh)"
elif [ $plugin = "playerctl" ]; then
IFS=' ' read -r -a colors <<<$(get_tmux_option "@dracula-playerctl-colors" "green dark_gray")
script="#($current_dir/playerctl.sh)"
elif [ $plugin = "kubernetes-context" ]; then elif [ $plugin = "kubernetes-context" ]; then
IFS=' ' read -r -a colors <<<$(get_tmux_option "@dracula-kubernetes-context-colors" "cyan dark_gray") IFS=' ' read -r -a colors <<<$(get_tmux_option "@dracula-kubernetes-context-colors" "cyan dark_gray")
script="#($current_dir/kubernetes_context.sh $eks_hide_arn $eks_extract_account $hide_kubernetes_user $show_kubernetes_context_label)" script="#($current_dir/kubernetes_context.sh $eks_hide_arn $eks_extract_account $hide_kubernetes_user $show_kubernetes_context_label)"

25
scripts/playerctl.sh Executable file
View file

@ -0,0 +1,25 @@
#!/usr/bin/env bash
# setting the locale, some users have issues with different locales, this forces the correct one
export LC_ALL=en_US.UTF-8
current_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
source $current_dir/utils.sh
main()
{
# storing the refresh rate in the variable RATE, default is 5
RATE=$(get_tmux_option "@dracula-refresh-rate" 5)
if ! command -v playerctl &> /dev/null
then
exit 1
fi
FORMAT=$(get_tmux_option "@dracula-playerctl-format" "Now playing: {{ artist }} - {{ album }} - {{ title }}")
playerctl_playback=$(playerctl metadata --format "${FORMAT}")
echo ${playerctl_playback}
}
# run the main driver
main