aboutsummaryrefslogtreecommitdiff
path: root/.i3-blocks/blocks/playerctl
blob: 6d613ed5beb8021367806cebde47c14157ebcb66 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/bash
# Based on https://aur.archlinux.org/packages/playerctl/

INSTANCE="${BLOCK_INSTANCE}"

if [[ "${INSTANCE}" != "" ]]; then
  ARGUMENTS="--player ${INSTANCE}"
fi

ICON_PLAY="➤"
ICON_PAUSE="Ⅱ"
ICON_STOP="≠"
CUR_ICON=""

if [[ "${BLOCK_BUTTON}" -eq 1 ]]; then
    $(playerctl ${ARGUMENTS} previous)
elif [[ "${BLOCK_BUTTON}" -eq 2 ]]; then
    $(playerctl ${ARGUMENTS} play-pause)
elif [[ "${BLOCK_BUTTON}" -eq 3 ]]; then
    $(playerctl ${ARGUMENTS} next)
fi

PLAYER_STATUS=$(playerctl ${ARGUMENTS} status)
INFO_TITLE=$(playerctl ${ARGUMENTS} metadata title)
INFO_ALBUM=$(playerctl ${ARGUMENTS} metadata album)
INFO_ARTIST=$(playerctl ${ARGUMENTS} metadata artist)

if [[ "${PLAYER_STATUS}" = "Paused" ]]; then
  CUR_ICON="${ICON_PAUSE}"
elif [[ "${PLAYER_STATUS}" = "Playing" ]]; then
  CUR_ICON="${ICON_PLAY}"
else
  CUR_ICON="${ICON_STOP}"
fi

if [[ "${INFO_TITLE}" != "" ]] && [[ "${INFO_ARTIST}" != "" ]]; then
  echo "${INFO_ARTIST} - ${INFO_TITLE} ${CUR_ICON}"
  echo "${INFO_ARTIST} - ${INFO_TITLE} ${CUR_ICON}"
fi