33 lines
1.7 KiB
Plaintext
33 lines
1.7 KiB
Plaintext
(defwidget loremText [text]
|
|
(label :text text
|
|
:class 'lorem-text'
|
|
)
|
|
)
|
|
|
|
(defvar playerIcons `{
|
|
"spotify": "",
|
|
"mpv": "",
|
|
"firefox": "",
|
|
"chromium": ""
|
|
}`)
|
|
(defvar ellipsisArtist 20) ; set length for ellipsis on artist
|
|
(defvar ellipsisTitle 25) ; set length for ellipsis on title
|
|
(defwidget media []
|
|
(box :class "media"
|
|
:halign "center"
|
|
:valign "center"
|
|
:class { playerctl == '' || objectlength(playerctl) == 0
|
|
? 'music--off'
|
|
: matches(playerctl.player, 'spotify|firefox|mpv|chromium')
|
|
? 'music--' + playerctl.player
|
|
: 'music--on' }
|
|
{ matches(playerctl.player, 'spotify|firefox|mpv|chromium')
|
|
? "${playerIcons[playerctl.player]} ${substring(playerctl.artist, 0, ellipsisArtist)}${strlength(playerctl.artist) >= ellipsisArtist ? '…' : ''} | ${substring(playerctl.title, 0, ellipsisTitle)}${strlength(playerctl.title) >= ellipsisTitle ? '…' : ''}"
|
|
: "${playerctl.player} - ${substring(playerctl.artist, 0, ellipsisArtist)}${strlength(playerctl.artist) >= ellipsisArtist ? '…' : ''} | ${substring(playerctl.title, 0, ellipsisTitle)}${strlength(playerctl.title) >= ellipsisTitle ? '…' : ''}" }
|
|
)
|
|
)
|
|
|
|
(deflisten playerctl :initial ""
|
|
`playerctl --follow metadata --format '{"player": "{{ playerName }}", "trackid": "{{ mpris:trackid }}", "length": "{{ duration(mpris:length) }}", "artUrl": "{{ mrpis:artUrl }}", "album": "{{ album }}", "albumArtist": "{{ xesam:albumArtist }}", "artist": "{{ artist }}", "autoRating": "{{ xesam:autoRating }}", "discNumber": "{{ xesam:discNumber }}", "title": "{{ title }}", "trackNumber": "{{ xesam:trackNumber }}", "url": "{{ xesam:url }}", "position": "{{ position }}"}'`
|
|
)
|