Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Последняя версия Следующая версия справа и слева | ||
wiki:mocp [2012/01/29 01:28] [Интеграция с conky] |
wiki:mocp [2012/01/29 02:32] [Интеграция с conky] |
||
---|---|---|---|
Строка 103: | Строка 103: | ||
<code bash> | <code bash> | ||
#!/bin/bash | #!/bin/bash | ||
+ | |||
+ | . /tmp/mocp_popup.txt | ||
+ | . /tmp/mocp_state.txt | ||
# Переменная хранит разделитель между артистом и названием | # Переменная хранит разделитель между артистом и названием | ||
Строка 121: | Строка 124: | ||
else | else | ||
# Если название песни присутствует | # Если название песни присутствует | ||
- | SONG="$(mocp -Q %song | sed 's/\&/And/g')" | + | SONG="$(mocp -Q %song)" |
# Выводим артиста | # Выводим артиста | ||
FIRST_LINE="${SONG%*$SEPARATOR*}" | FIRST_LINE="${SONG%*$SEPARATOR*}" | ||
Строка 130: | Строка 133: | ||
# Если воспроизводится не радио | # Если воспроизводится не радио | ||
PLAYER="MoC" | PLAYER="MoC" | ||
- | if [ -z "$(mocp -Q %song | sed 's/\&/And/g')" ] | + | if [ -z "$(mocp -Q %song)" ] |
then | then | ||
# Выводим что тегов нет | # Выводим что тегов нет | ||
Строка 144: | Строка 147: | ||
NEWNAME="$FIRST_LINE - $SECOND_LINE" | NEWNAME="$FIRST_LINE - $SECOND_LINE" | ||
+ | NEWNAME="$(echo $NEWNAME | sed 's/\&/And/g' | sed 's/\`//g')" | ||
NEWSTATE="$(mocp --info | grep State: | awk '{print $2}')" | NEWSTATE="$(mocp --info | grep State: | awk '{print $2}')" | ||
+ | |||
+ | if [ $NEWSTATE == STOP ]; then | ||
+ | exit 1 | ||
+ | fi | ||
# Выводим информацию в conky | # Выводим информацию в conky | ||
Строка 152: | Строка 160: | ||
echo "$PLAYER Stop:" "$OLDNAME" | echo "$PLAYER Stop:" "$OLDNAME" | ||
fi | fi | ||
+ | |||
+ | #======================================== Всплывающие окна ============================================================= | ||
+ | mocp -i > /dev/null | ||
+ | if [ $? -eq 2 ];then | ||
+ | exit 2 | ||
+ | fi | ||
+ | |||
+ | if [[ "$OLDNAME" == "$NEWNAME" ]]; then | ||
+ | if [[ "$OLDSTATE" == "$NEWSTATE" ]]; then | ||
+ | exit 1 | ||
+ | fi | ||
+ | fi | ||
+ | |||
+ | # Выводим информацию в всплывающее окно | ||
+ | if [[ $NEWSTATE == "PLAY" ]]; then | ||
+ | notify-send --expire-time=2700 -i "/home/citizen/.icons/MyIcons/emblem-sound.png" "$PLAYER Play:" "$NEWNAME" | ||
+ | else | ||
+ | notify-send --expire-time=2700 -i "/home/citizen/.icons/MyIcons/emblem-sound.png" "$PLAYER Stop:" "$OLDNAME" | ||
+ | fi | ||
+ | |||
+ | echo OLDNAME=\"$NEWNAME\" > /tmp/mocp_popup.txt | ||
+ | echo OLDSTATE=\"$NEWSTATE\" > /tmp/mocp_state.txt | ||
+ | #======================================================================================================================= | ||
</code> | </code> | ||
В конфигурационный файл **conky**, добавьте строку: | В конфигурационный файл **conky**, добавьте строку: | ||
<code>${scroll 45 20 ${exec путь_к_скрипту}}</code> | <code>${scroll 45 20 ${exec путь_к_скрипту}}</code> | ||
В итоге будет выводиться бегущая строка шириной в 45 символов и одновременно будет выводиться только 20 из них. | В итоге будет выводиться бегущая строка шириной в 45 символов и одновременно будет выводиться только 20 из них. | ||
- | |||
- | Помимо этого будут отображаться всплывающие уведомления. Если они вам не нужны, то просто удалите все строки начиная с 55-й. | ||
===== Настройка ===== | ===== Настройка ===== | ||