1

Téma: Skript k obrazování OSD pro přehrávač cmus

Skript musí být spustitelný a cesta k němu se nastaví do položky status_display_program v nastavení programu. Uvedený skript je částečně převzatý z Archlinux fóra a upravený, jelikož původní několik let starý po zprovoznění zatuhával přehrávač při zobrazení OSD, jelikož nespouštěl OSD proces na pozadí. Upravená verze funguje perfektně (je potřeba mít nainstalovaný x11-libs/xosd).

#!/bin/bash
#---------------------------------------------------------------------
# cmus_osd - called from cmus to display song titles using xosd.
# 2005/03/12  K. Piche  Enjoy!
# 2011/02/15  elPresidento - fixed eval, fixed freezing
#
# Called from cmus as: cmus_osd key1 val1 key2 val2 ...
# EG: cmus_osd status playing file /music/foo.ogg title "Foo Bar" date "2005"
#
# Use cmus command ":set status_display_program=/path/cmus_osd" to use.
# cmus v2.3.3 - status file artist album tracknumber title date duration
#---------------------------------------------------------------------

if [ -z $DISPLAY ]; then
        # X not running dont bother.
        exit 1;
fi
if [ ! -x /usr/bin/osd_cat ]; then
        echo -n Missing xosd package
        exit 1;
fi

#font='-*-lucida-*-*-*-*-*-240-*-*-*-*-*-*'
#font='-*-courier-*-*-*-*-20-*-*-*-*-*-*-*'
font='-*-helvetica-bold-*-*-*-20-*-*-*-*-*-*-*'
col=yellow
off=30
pos=bottom
out=2
lines=3
delay=8

# convert key val arg pairs into variables.
while [[ $# -ge 2 ]]; do
        eval _$1='$2'
        shift
        shift
done
#osd_cat -f $font -c $col -o $off -p $pos -O $out -l $lines -d $delay <<EOF
#$_status
#$_album - $_date
#$_artist - $_title
#EOF
killall osd_cat
echo -e "$_status\n$_album - $_date\n$_artist - $_title" | osd_cat -f $font -c $col -o $off -p $pos -O $out -l $lines -d $delay &
Luděk

Thumbs up Thumbs down