Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:mocp [2012/01/29 01:07] [Интеграция с 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 | ||
Строка 153: | Строка 161: | ||
fi | fi | ||
- | . /tmp/mocp_popup.txt | + | #======================================== Всплывающие окна ============================================================= |
- | . /tmp/mocp_state.txt | + | |
mocp -i > /dev/null | mocp -i > /dev/null | ||
if [ $? -eq 2 ];then | if [ $? -eq 2 ];then | ||
Строка 163: | Строка 169: | ||
if [[ "$OLDNAME" == "$NEWNAME" ]]; then | if [[ "$OLDNAME" == "$NEWNAME" ]]; then | ||
if [[ "$OLDSTATE" == "$NEWSTATE" ]]; then | if [[ "$OLDSTATE" == "$NEWSTATE" ]]; then | ||
- | exit 1 | + | exit 1 |
fi | fi | ||
fi | fi | ||
- | + | ||
# Выводим информацию в всплывающее окно | # Выводим информацию в всплывающее окно | ||
if [[ $NEWSTATE == "PLAY" ]]; then | if [[ $NEWSTATE == "PLAY" ]]; then | ||
- | notify-send --expire-time=2700 -i "/usr/share/icons/Humanity/emblems/48/emblem-sound.svg" "$PLAYER Play:" "$NEWNAME" | + | notify-send --expire-time=2700 -i "/usr/share/icons/Humanity/emblems/48/emblem-sound.png" "$PLAYER Play:" "$NEWNAME" |
else | else | ||
- | notify-send --expire-time=2700 -i "/usr/share/icons/Humanity/emblems/48/emblem-sound.svg" "$PLAYER Stop:" "$OLDNAME" | + | notify-send --expire-time=2700 -i "/usr/share/icons/Humanity/emblems/48/emblem-sound.png" "$PLAYER Stop:" "$OLDNAME" |
fi | fi | ||
echo OLDNAME=\"$NEWNAME\" > /tmp/mocp_popup.txt | echo OLDNAME=\"$NEWNAME\" > /tmp/mocp_popup.txt | ||
echo OLDSTATE=\"$NEWSTATE\" > /tmp/mocp_state.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-й. | ||
===== Настройка ===== | ===== Настройка ===== | ||