Добавляем информацию из VLC плеера в conky.
(Поддерживает http трансляцию, локальные аудио и видео файлы)
Пишем небольшой скрипт ~/scripts/echovlc:
if ps aux | grep vlc | grep -v grep >> /dev/null
then
vvv1=`qdbus org.mpris.vlc /Player GetMetadata | grep artist: | cut -d : -f2`
vvv2=`qdbus org.mpris.vlc /Player GetMetadata | grep title: | cut -d : -f2`
vvv3=`qdbus org.mpris.vlc /Player GetMetadata | grep nowplaying | cut -d : -f2`
if [[ "$vvv3" == "" ]]
then
if [[ "$vvv1" == "" ]]
then
vvv=`qdbus org.mpris.vlc /Player GetMetadata | grep location | cut -d : -f3- | cut -d \/ -f3- | cut -d . -f1-5`
v5="Смотрю - $vvv"
else
v5="Слушаю $vvv1 - $vvv2"
fi
else
v5="Слушаю радио - $vvv3"
fi
echo $v5
fi
Результат:
Небольшое описание:
Проверяем, запущен ли vlc
Получаем информацию о файле
Проверяем, есть ли в выводе строчка nowplaying, если есть, значит проигрывается радио,
выводим
слушаю композицию
Сверяем, если есть метаданные artist и title, значит это аудио файл, следовательно выводим:
слушаю трек
Если метаданных нет, то выводим имя файла, и видимо это видео файл, а значит выводим:
смотрю файл
В конфиг коньков (~/.conkyrc) пишем:
{execi 40 bash ~/scripts/echovlc | cut -d ":" -f 2 | cut -d "-" -f1 }
{execi 40 bash ~/scripts/echovlc | cut -d ":" -f 2 | cut -d "-" -f2 }
Получится как то так:
Значек ▶ или ■ выводится другим скриптом (~/scripts/playstopconky):
if [ -n "`~/scripts/echovlc | cut -d ":" -f2 | grep ' - '`" ]
then
echo "▶";
else
echo "■";
fi
В ~/.conkyrc этот скрипт подключается так:
${execi 10 /home/userhome/scripts/playstopconky}